Changemenbt d'onglet sous condittion

Bonjour,

j'ai une range("M34") qui a besoin d'un visa, et je voudrai une macro tant que ce visa n'est pas mit je ne peut pas changer d'onglet.

j'avais penser a un truc de ce type

Private Sub btnSuivant_Click()
    Sheets(ActiveSheet.Index + 1).Activate
End Sub

mais sans bouton avec un événement sélection change

c'est le coté "tant que la cellule n"est pas rempli on ne peut pas changer d'onglet" qui me pose problème:/

cordialement

Bonjour naubin,

désolé, le gouvernement français n'accorde aucun visa de sortie pour les cellules M34 qui veulent changer d'onglet.

prière de t'adresser directement à ton ambassade.

dhany

Je trouve pas l'ambassade :p !

Private Sub Worksheet_Activate()
If Worksheets("TOP DEPART").Range("M34") = "" Then
Worksheets("TOP DEPART").Activate
MsgBox "vous avez oublié(e) le Visa opérateur"
End Sub

après avoir demandé autour de moi voici un bout de code a coller dans l'onglet que vous voulez bloquer

oh la ! t'as oublié un End If :

Private Sub Worksheet_Activate()
  If Worksheets("TOP DEPART").Range("M34") = "" Then
    Worksheets("TOP DEPART").Activate
    MsgBox "vous avez oublié(e) le Visa opérateur"
  End If
End Sub

dhany

je m'en suis rendu compte en l'essayant ouai ! merci

ajout : tu peux aussi mettre :

Private Sub Worksheet_Activate()
  With Worksheets("TOP DEPART")
    If .[M34] <> "" Then Exit Sub
    .Activate
  End With
  MsgBox "vous avez oublié(e) le Visa opérateur"
End Sub

dhany

cette forme c'est juste pour la syntaxe ?

cette forme avec With permet de raccourcir le code : on indique la feuille une seule fois ; de plus, comme elle est mémorisée par VBA, ça accélère l'exécution car il n'a plus à rechercher la référence de la feuille : il a juste à la lire dans son « bloc-note ».

dhany

Rechercher des sujets similaires à "changemenbt onglet condittion"