Problème Visual Basic pour Excel

Fermé
Manu40300 - 26 mars 2013 à 13:29
 Manu40300 - 27 mars 2013 à 19:47
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
A voir également:

2 réponses

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
26 mars 2013 à 14:49
Bonjour

Si tu veux sortir prématurement de la sub il faut rajouter une instruction Exit sub à l'endroit désiré (par exemple avant les End if)

Cdlmnt
0
Merci pour ta réponse via55. On m'a donné une solution qui simplifie la macro mais merci quand même.

Cordialement,

Manu
0