Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème Visual Basic pour excel

Manu40300

XLDnaute Nouveau
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").Select
Selection.EntireRow.Hidden = True
Cells(15, 2).Activate
End If
If Range("B15") = "2" Then
Range("21:21,28:28,30:32").Select
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
 

Discussions similaires

Réponses
2
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…