VBA plages de cellules discontinues

Fermé
PanouJacques Messages postés 1 Date d'inscription vendredi 22 juin 2018 Statut Membre Dernière intervention 22 juin 2018 - Modifié le 22 juin 2018 à 11:44
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 23 juin 2018 à 08:59
Bonjour,

J'ai une plage (range) de cellules DISCONTINUES et/ou NON RECTANGULAIRE que je nomme par exemple "Zone".
Je n'arrive pas à sélectionner les cellules de cette zone.
La procédure suivante :

for i=1 to range("Zone").cells.count
range("Zone").cells(i).select
next i


ne fonctionne pas. Elle me sélectionne des cellules qui sont contiguës et n'appartiennent pas toutes à "Zone".
Si un expert peut m'aider, je l'en remercie.

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 juin 2018 à 13:29
Bonjour,

Selections d'une plage nommee :
Range("Zone").Select

Selectionner, peut-etre pas utile!!!!

NON RECTANGULAIRE !!!!!!
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 juin 2018 à 14:08
Bonjour,

Quand f894009 (que je salue ...) dit : « Selectionner, peut-etre pas utile!!!! », je serais plus incisif et dirais que .Select n'est pas une fin en soi, après, il y a quelque chose d'autre à faire. Donc sélectionner est totalement inutile !!!

Pour explorer les cellules d'une plage discontinue :
Dim cel As Range
  For Each cel In Worksheets("Feuil1").Range("zonz").Cells
    '... action(s) sur cel
  Next cel
0
PanouJacques
22 juin 2018 à 14:33
Il est bien évident que je ne cherche pas uniquement à sélectionner les cellules. Cela n'aurait aucun intérêt. Mon "select" ne me sert qu'à tester qu'il prend en compte la bonne cellule. Hors il ne le faisait pas avec la boucle "for" et le fait correctement avec la boucle "for each" (merci Patrice33740). Et pour f894009, on peut très bien avoir des plages de cellules non rectangulaires. Par ex A2:D2+ B3:F3 constitue une plage non rectangulaire de 9 cellules que la boucle "for each" peut traiter alors que la boucle "for" échoue. En tout cas merci à vous 2.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 juin 2018 à 15:28
A2:D2 est rectangulaire, B3:F3 aussi !!!
0
PanouJacques
22 juin 2018 à 15:38
L'ENSEMBLE DES DEUX constitue une plage non rectangulaire.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 juin 2018 à 16:59
Re,
Certes Patrice33740, le select n'est pas recommandable.

PanouJacques:
L'ENSEMBLE DES DEUX constitue une plage non rectangulaire.
Peut-etre, mais quel en est l'intérêt!!!!!!!!!!!!!!
0

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

Posez votre question
PanouJacques
22 juin 2018 à 19:14
C'est incroyable ! Je ne te demande pas quelles applications tu développes! Pour moi ça à de l'intérêt et c'est très utile pour le projet sur lequel je travaille.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 juin 2018 à 22:13
De l'intérêt, certainement, mais lequel ?
C'est incroyable le temps qu'on peut perdre à chercher (bénévolement) des solutions quand le problème n'est pas suffisamment bien expliqué !
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 juin 2018 à 08:59
Bonjour a tous
PanouJacques:
Je ne te demande pas quelles applications tu développes!
En effet, c'est vous qui demande et je faisais une simple reflection sur votre affaire de cellules rectangulaires, mais ne vous inquiètez, ca ne m' empêche pas de dormir et j'ai une très bonne memoire.......
0