Code VBA, Sélection d'1 feuille selon la valeur d'1 cellule

Bonsoir,

J'ai un petit souci de code dans le fichier ci-joint. Il faudrait qu'une autre feuille soit sélectionnée si une valeur est entrée dans une cellule.

Je m'explique : Dans le fichier ci-joint, dans les codes de la feuille 5 "IV Deutsch" , j'ai essayé de placer le code

Private Sub Worksheet_Calculate_bis()
Application.EnableEvents = False
If [H15] > 0 Then
Sheets("Berechnung Kinderzulage IV").Select
Else
    ActiveSheet.Select
End If
Application.EnableEvents = True
End Sub

afin que la feuille 11 "Berechnung Kinderzulage IV" soit sélectionnée si un chiffre positif (et il ne peut être que positif) est inscrit OU CORRIGE dans la cellule H15 de la feuille "IV Deutsch". Si ce chiffre est effacé, rien ne devrait se passer (ou alors, en mode "Feuille protégée", sélectionner la prochaine cellule non vérouillée).

https://www.excel-pratique.com/~files/doc/Surindemnisation_Forum.zip

Mais voilà, rien ne se passe lorsqu'un tel chiffre est inscrit dans la cellule H15.

Pouvez-vous m'aider à résoudre ce problème ?

Avec mes bonnes salutations.

Bonsoir,

Normal puisque tu utilises des cellules fusionnées...

Evite cela dans les codes, c'est toujours des pb assurés.

Si tu veux conserver tes cellules fusionnées,remplace :

If [L54] >= 0 Then

Par

If Range("L54:M54") >= 0 Then

Même chose pour H15 --> Range("H15:I15")

Amicalement

Dan

bonsoir,

il ne peux y avoir de Worksheet_Calculate_Bis

utilise :

Private Sub Worksheet_Change(ByVal Target As Range)

' Passe sur la feuille "Berechnung Kinderzulage IV" s'il y a des enfants à charge
Set isect = Application.Intersect([H15], Target)
If Not isect Is Nothing Then
Application.EnableEvents = False
If [H15] > 0 Then
Sheets("Berechnung Kinderzulage IV").Select
Else
    ActiveSheet.Select
End If
Application.EnableEvents = True
End If
End Sub

Bon je dis pas que c'est un code brillant... mais ça peux marcher !

A+

Bonjour,

J'ai testé vos deux propositions.

Dan, tu as confondu deux macros. Je parlais de la deuxième macro placée à cet endroit et tu parles de la première. Contrairement à ce qui tu indiques, cette première macro fonctionne parfaitement malgré qu’elle fasse référence à des cellules fusionnées.

Galopin, ta macro fonctionne à merveille, c'est extra !

Merci à tous deux de vous être intéressés à mon problème et de m'avoir aidé à le résoudre si parfaitement.

Bonne journée à tous

re,

Non Yvouille, je n'avais pas confondu. Simplement que j'ai pensé que le BIS marqué dans ta macro était juste pour conserver le code sans l'utiliser.

J'ai donc travaillé sur le deuxième.

Comme te le précise Galopin, tu ne pouvais utliser cette macro, seul "Private Sub Worksheet_Calculate()" peut fonctionner.

Petite indication, évite les crochets pour définir un RANGE. Cela ralentit le code, surtout s'il est long et la lecture est moins évidente.

Amicalement

Dan

Salut Dan,

Merci infiniment pour ces précisions. Comme chaque fois que j'ai obtenu ton aide, j'en apprends un max. à chacune de mes questions.

A la prochaine !

Rechercher des sujets similaires à "code vba selection feuille valeur"