Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business

|-  LOGICIELS


|||-  

Problème programmation avec Visual Basic pour Excel

 

Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

Problème programmation avec Visual Basic pour Excel

Prévenir les modérateurs en cas d'abus 
Manu40300
manu40300
  1. Posté le 26/03/2013 à 13:27:16  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour à tous,
 Je me lance tout juste dans la programmation avec Visual Basic pour excel. Je connaissais déjà la programmation sur calculatrice casio qui ressemble un peu et je sais ce que c'est, quand on obtient pas ce qu'on veut, on rajoute des fonctions et des fonctions pour que ça marche et notre programme fait plusieurs pages alors qu'il pourrait être écrit sur quelques lignes.
 Bref, pour faire simple, le but de la manoeuvre est de masquer certaines lignes suivant la valeur d'une cellule et ce sur plusieurs cellules sachant que suivant la cellule, les lignes à masquer sont différentes. Jusque là, j'ai réussi à m'en sortir même si je pense que j'aurai pu faire plus court.
 Le problème, c'est qu'une fois que j'ai changé la valeur de ma cellule,je voudrai que la macro me fasse revenir automatiquement sur ma cellule après avoir masquer les lignes. Or, en l'occurence la, il va jusqu'à la fin du programme et me retrouve donc à chaque fois sur la cellule B17.
 Si quelqu'un pouvait m'aider, ça serait sympa.
 Voici mon programme :
 Sub Worksheet_Change(ByVal Target As Range)
 If Range("B10" ) = "1" Then

Rows("33:34" ).Select

Selection.EntireRow.Hidden = True

Cells(10, 2).Activate

End If
 If Range("B10" ) = "2" Then

Rows("33:34" ).Select

Selection.EntireRow.Hidden = False

Cells(10, 2).Activate

End If
 If Range("B12" ) = "1" Then

Rows("35:35" ).Select

Selection.EntireRow.Hidden = True

Cells(12, 2).Activate

End If
 If Range("B12" ) = "2" Then

Rows("35:35" ).Select

Selection.EntireRow.Hidden = False

Cells(12, 2).Activate

End If
 If Range("B15" ) = "1" Then

Range("21:21,28:28,30:32" ).Sel​ect

Selection.EntireRow.Hidden = True

Cells(15, 2).Activate

End If
 If Range("B15" ) = "2" Then

Range("21:21,28:28,30:32" ).Sel​ect

Selection.EntireRow.Hidden = False

Cells(15, 2).Activate

End If
 If Range("B17" ) = "1" Then

Rows("27:27" ).Select

Selection.EntireRow.Hidden = True

Cells(17, 2).Activate

End If
 If Range("B17" ) = "2" Then

Rows("27:27" ).Select

Selection.EntireRow.Hidden = False

Cells(17, 2).Activate

End If
 End Sub

 Merci à tous, Manu

nonaseb
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 26/03/2013 à 17:44:02  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Salut,

 Tu peux effectivement faire plus simple...

 Si tu valides la modification de ta cellule avec la touche Entrée, ajoute ActiveCell(0, 1).Select en fin de procédure pour revenir à la cellule d'origine

 En simplifiant un peu, cela donne ceci

 If Range("B10" ) = "1" Then
 Rows("33:34" ).Hidden = True
 End If

 If Range("B10" ) = "2" Then
 Rows("33:34" ).Hidden = False
 End If

 If Range("B12" ) = "1" Then
 Rows("35" ).Hidden = True
 End If

 If Range("B12" ) = "2" Then
 Rows("35" ).Hidden = False
 End If

 If Range("B15" ) = "1" Then
 Range("21:21,28:28,30:32" ).Ent​ireRow.Hidden = True
 End If

 If Range("B15" ) = "2" Then
 Range("21:21,28:28,30:32" ).Ent​ireRow.Hidden = False
 End If

 If Range("B17" ) = "1" Then
 Rows("27" ).Hidden = True
 End If

 If Range("B17" ) = "2" Then
 Rows("27" ).Hidden = False
 End If

 ActiveCell(0, 1).Select

 :hello:

(Publicité)
 Page :
1

Aller à :
 

Sujets relatifs
Problème avec CD BURNERXP PRO Problème au montage avec Windows Live Movie Maker (W7)
EXCEL - trier une liste avec des images insérées Leçon Pour Créer Une Calculatrice Sur Visual Basic 6 !
Créer un nouveau langage de programmation ? Problème eurosport player sur pc
probléme de curseur dans photoshop Gros problème : Operating system not found !
Plus de sujets relatifs à : Problème programmation avec Visual Basic pour Excel

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
Microsoft office 2
Microsoft Money 3
lanceur de tache office 2007 1
transfert de Money vers Gnucash 2
decodage de fichier 3