Aide fonction SI

Bonsoir le forum,

Je souhaites mettre cette formule sous vba :

Si Rows ("34:126") = masqué

Alors Affiche rows (" 29:31").

Que j' ai traduit par :

If Rows("34:126").entirow.Hidden = True Then
Rows("29:31").entirow.Hidden = False
End If

Sauf que la commande fonctionne mais il m' affiche l'erreur suivante " Erreur d'execution 438- Propriété ou méthode non gére par cette cet objet"

J' avoue que je piges pas.

Merci de vos lumières.

Bonsoir,

Et comme ceci ?

If Rows("34:126").EntireRow.Hidden = True Then
Rows("29:31").EntireRow.Hidden = False
End If

Bonjour Fred,

Merci de ta réponse.

Sauf erreur de ma part, ta proposition est la même que la mienne à la différence que j' ai pas mis de majuscule à EntireRow.

Est ce ça qui a fait que j' avais un message d' erreur ?

Bonne soirée.

Bonsoir,

non EntirRow n'est pas une instruction reconnu, du coup il ne sait pas l'interpréter.

Il te manquait surtout le E EntireRow

Re,

Autant pour moi, besoin de lunette

Merci

N'oubli pas de mettre le sujet en résolu si c'est ok pour toi

Re

Question subsidiaire,

Comment faire si je veux appliquer ma demande avec une condition sur 2 plages ( ex : Rows ("42:46") ET Rows ("95:109").

CAD si ces 2 plages sont masqué, alors affiche rows (" 29:31").

hum, je suis pas sûr (je débute en vba), mais peut être comme ceci :

    If Rows("42:46, 95:109 ").EntireRow.Hidden = True Then
    Rows("29:31").EntireRow.Hidden = False
    End If

Non ça passe pas. Il me met " Erreur d'execution '13'- Incompatibilité de type.

oups autant pour moi, j'ai été un peu vite, il faut remplacer Rows par Range me semble

If Range("42:46,95:109").EntireRow.Hidden = True Then
Range("29:31").EntireRow.Hidden = False
End If

Re

C' est presque ça.

J'ai fait le test et si par ex je rempli la ligne 95.

Il m' affiche les lignes 29: 31 ET la ligne 95, alors qu' il devrait afficher que la ligne 95.

J' ai contourné le problème avec :

    If Range("42:46").EntireRow.Hidden = True And Range("95:109").EntireRow.Hidden = True Then
    Range("29:31").EntireRow.Hidden = False
    End If

Merci de ton aide et bonne soirée.

Vu que tu n'as pas mis de fichier d'exemple c'est pas évident comme ça d'autant qu'il n'y a qu'un bout de code.

Mais bon, le principal c'est que ça marche

Une autre tentative au cas ou :

If Union(Range("42:46"), Range("95:109")).EntireRow.Hidden = True Then
Range("29:31").EntireRow.Hidden = False
End If

Re,

Merci, je vais essayer cette possibilité.

Rechercher des sujets similaires à "aide fonction"