Problème code VBA.

Résolu
Goldrigger 61 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -  
Goldrigger 61 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans une feuille excel je dois saisir des temps. Ce que je veux c'est que dé que je saisie une valeur dans une cellule, on passe automatiquement à une autre feuille.

J'ai essayé cette formule

Private Sub Worksheet_Change(ByVal sel As Range)

If Cells(23, 2) > 1 Then
Sheets("Feuil2").Activate
End If

End Sub

Le problème c'est qu'avec cette formule ca marche mais si je met >0 alors ca ne marche pas , c'est a dire que si je change une autre cellule que celle indiquée ca me renvoie à la feuil2 quand m^me .
Je ne comprend pas.

Merci de m'aider.
A voir également:

2 réponses

tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Bonjour,

Essaie comme ça :
Private Sub Worksheet_Change(ByVal sel As Range)

If Not IsEmpty(Cells(23, 2)) Then
Sheets("Feuil2").Activate
End If

End Sub


Tom
0
Goldrigger 61 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
Ok j'ai mis cette formule et ça marche:


Private Sub Worksheet_Change(ByVal sel As Range)

If sel.Address = Cells(23, 2).Address And Cells(23, 2) >= 0 Then
Sheets("Feuil2").Activate
End If

End Sub

Merci de ta réponse.
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
OK,mais attention ça marche tant que tu ne saisis pas de chiffre négatif ds ta cellule (ex : -1), perso j'utiliserais plutôt un test genre
IsEmpty("ta cellule")
ou encore
Cells(23,2).Text <> "" 

Tom
0
Goldrigger 61 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention  
 
Ok bien reçu.

En fait comme c'est une cellule pour saisir des heures y'a pas besoin de nombre négatif,
mais je retient pour tout autre cas.

Merki.
0