Définition d'une constante

Bonjour

Plusieurs de mes macros doivent effectuer une recherche dans une zone qui se retrouve dans plusieurs feuille.

J'ai donc créé une constante (string) qui permet de balayer la plage de cellules...

C'est :

Public Const Plg4 As String = "D4:K4,D20:K20,D36:K36,D52:K52,D68:K68,D84:K84,D100:K100,D116:K116,D132:K132,D148:K148,D164:K164,D180:K180,D196:K196,D212:K212"

Le problème, c'est que la zone de recherche est étendue et va encore s'étendre (actuellement cela représente 1/3 à tout casser).

Y aurait-il moyen d'écrire cette constante autrement

soit par itération (toutes les 16 lignes)

soit en écrivant ligne 4, ligne 20, ligne 36 .. etc (en effet, la restriction aux colonnes D à K n'est pas indispensable.

Merci

Salut,

Je pense que ta solution passe par une boucle For Next et un Step de 16, mais sans avoir ton fichier, c'est assez dur de t'en dire plus.

Essaie quand même un truc du genre

For i = 4 to 212 Step 16

next

i prendra les valeurs 4, 20, 36, ......... 212

Cordialement.

ok .. mais le problème, c'est que ce ne serait plus une constante ...

Autre piste :

Au lieu de dire D4:K4, comme dire ligne 4 ?

Re,

Yvouille a écrit :

mais sans avoir ton fichier, c'est assez dur de t'en dire plus

Qu'est-ce qu'il a de si secret ton fichier que tu ne peux pas nous le fournir ? Ou au moins un fichier-exemple présentant le problème !! Personnellement je ne suis pas assez doué afin de pouvoir de donner une réponse sans avoir pu moi-même fouiller un peu la solution.

A tout hasard, voici quelques possibilités de faire référence à des lignes, avec ou sans variables :

Rows("14:17")

Range("14:17")

Rows("4:4")

Rows( i - 7 & ":" & i + 8 )

Rows(i)

etc.

Si rien ne fonctionne, il faudrait éventuellement aller chercher du côté de Cells( )

Mon fichier n'a rien de secret, mais comme il y a pas mal de macro, je vais avoir du mal à expliquer ou aller chercher les infos. (j'ai supprimé 10 feuilles qui contiennent des données nominatives.

Mais je tente :

Dans la feuille Pln. 4, en E368, je rentre des référence du style S052 S053 S054 ..etc ...

Si je rendre S056, en fait, il va dans la feuille Prg.4 et parcours les cellules référencées sous "Plg4", à la recherche de S056 pour y recopier les cellules que je veux ...

Pour mémoire :

Public Const Plg4 As String = "D4:K4,D20:K20,D36:K36,D52:K52,D68:K68,D84:K84,D100:K100,D116:K116,D132:K132,D148:K148,D164:K164,D180:K180,D196:K196,D212:K212"

Comme cette recherche se fait de Pln.5 vers Prg.5, de Pln.4 vers Prg.4 et virtuellement de plusieurs feuille vers plusieurs feuilles, il m'a semblé plus simple de définir la zone de recherche en constante. En effet, je vais être amené peut être à ajouter des lignes dans les feuilles Prg. et je n'aurais pas à reprendre le code. Je n'aurais juste qu'à changer la zone cible pour que cela marche toujours ...

Mais actuellement je ne suis qu'au tiers de mon année scolaire, donc je me dis que la ligne "Public Const Plg4 As String = .... " va être amenée à se rallonger encore et encore .. Donc je cherche un moyen de l'écrire de façon plus courte.

Salut,

Merci d’avoir posté ton fichier. Je me rends alors compte que je suis dépassé (ou que je n’ai pas trop l’envie de chercher une solution qui me semble complexe, vu la complexité de ton fichier).

Je ne peux alors que te conseiller d’indiquer ce fil comme ‘Résolu’ et d’en rouvrir un nouveau et en y plaçant immédiatement ton fichier-modèle (tu as encore passablement de noms qui y sont inscrits, à modifier éventuellement).

J’espère que tu ne trouves pas que je t’ai simplement fait perdre du temps car il est probable que personne d’autre ne t’aurait répondu sur le présent fil sans fichier.

Peut-être à une prochaine fois.

Ne t’inquiète pas. je sais que mon fichier est complexe ...je vais simplement rallonger la ligne au fur et à mesure ..

Bonne journée

question bete ... je ne retrouve pas comment mettre en résolu !!!

lol

Dans l'un de tes messages, tu cliques sur le petit V vert.

Bonne année 2015

Rechercher des sujets similaires à "definition constante"