[VB6 -> VBA] Multi-range

vvvince - 7 avril 2013 à 23:33
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 11 avril 2013 à 08:46
Bonsoir le forum,

Je souhaites mettre cette formule sous vba :

Si les lignes (toutes ces lignes) 42:46 ET 95:109 sont masqués,
Alors Affiche les lignes 29:31.

Merci de votre aide.


CARPE DIEM

28 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 avril 2013 à 11:26
ya dejà des topics la dessus non ?

Je ne le pense pas, non.
Je ne pense d'ailleurs même pas que qui que ce soit, sauf apparemment vvvince, ait eu un jour à établir un aussi curieux mécanisme qui donne à penser à une carence de conception conduisant à l'utilisation d'un tremplin abusif (comme d'autres le font, également abusivement, avec des couleurs) ...)
Mais bon ...

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonsoir le forum,

Fabien, merci pour ces indications :)lol

Le code que je cherchais est :

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

Ca Fonction avec mon tableau.

Bonne soirée.

CARPE DIEM
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 avril 2013 à 06:49
Ben non !
Ce code (dont je connais l'origine (un certain Fred35) est faux !
Il ne contrôle pas que toutes les lignes sont masquées (ta demande). Il suffira que les lignes 42 et 95 (même seules) soient masquées, quelques autres ne l'étant pas, pour qu'il masque allègrement les lignes 29 à 31 (indument, donc).
Allez ===>> retourne le dire là où on te l'a donné et où tout est faux dès le 1er message (quand ta demande ne concernait encore qu'une seule plage continue).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonjour à tous,
ucfoutu a raison, il ne marche pas ton code...
je sais pas comment tu l'as testé, mais non ca ne marche pas du tout...
par contre, moi j'ai une piste peut être la veux-tu à moins que je laisse ucfoutu te donner sa solution ... dans 3 jours :)

Fabien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 avril 2013 à 17:58
Allez va ===>> mon épouse me demande d'être plus gentil le jour de nos noces d'or ===>>
Le voilà, son code :
Dim toto As Range
On Error Resume Next
Set toto = Range("42:66,95:109").SpecialCells(xlCellTypeVisible)
Range("29:31").EntireRow.Hidden = IIf(Err, True, False)
On Error GoTo 0

ou comment se servir astucieusement, pour une fois, de la gestion d'erreur et chercher l'inverse de ce que l'on cherche, comme au jeu du menteur.
Mais j'espère, vvvince, que je ne te reprendrai plus jamais à jouer au ping-pong entre différents sites, hein ... (j'aime pas ça du tout).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 avril 2013 à 08:02
Ah oui... c'est afficher, qu'il voulait ===>> on inverse la vapeur ===>>
...
Range("29:31").EntireRow.Hidden = IIf(Err, False, True)
...


Et d'ailleurs : pourquoi se priver de rigoler un peu ===>> on y va ? ===>>>

Dim toto As Range
On Error Resume Next
Set toto = Range("42:66,95:109").SpecialCells(xlCellTypeVisible)
Range("29:31").EntireRow.Hidden = Not CBool(Err)
On Error GoTo 0

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Félicitation pour tes noces d'or... tu as kel age ?
J'avais trouvé cette piste... comme quoi en cherchant sur le net, on trouve... plutot que se précipité à poser des questions sur un forum et attendre bien sagement la réponse :)


Fabien
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 avril 2013 à 08:46
tu as kel age ?

celui de mes artères, mais je suis encore très jeune. Aussi jeune (très) que je l'étais lorsque j'ai épousé celle qui est toujours près de moi.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous