Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

utilisation nom plage dans macro

14 réponses
Avatar
mik
Bonjour,

je cherchais a savoir si il était possible d'utiliser le nom que l'on donne
à une plage dans une macro.
Exemple:
je nomme ma plage "titi" qui fait référence à =Feuil1!$A$1:$B$2 et ainsi
dans ma macro je balaye "titi" au lieu de balayer =Feuil1!$A$1:$B$2 en dur.
Si ma macro est appelée dans un autre fichier et que la plage "titi" a 150
lignes au lieu de 2 il n'est pas besoin de retoucher le code (le nb de
colonne change pas).

Merci de votre réponse
mik

4 réponses

1 2
Avatar
mik
oui en effet, j'avais raccourci. bon résumé.

Ma demande était, elle aussi, imprécise. Comment faire pour parcourir que la
5ème colonne de toutes mes lignes??

L'objectif final étant en fait de faire une sorte de rechercheV

merci,
mik

"Daniel.C" wrote:

Inexact.
Range("A1:A10").Offset(1).Select
sélectionne les cellules A2:A11, soit à la fois des cellules internes
et des cellules externes à la plage initiale.
Le syntaxe :
Range("A1:A10")(1,2).Select
sélectionne B1, soit une cellule à l'extérieur de la plage initiale.
Si tu veux parcourir chacune de tes cellules, utilise :
Dim c as Range
For each c in range("nomplage")
....
next c
Daniel
PS le nombre de ligne de la plaqge est donné par :
range("nomplage").rows.count

> non non offset ne sert pas à sélectionner une cellule de ma plage mais
> seulement à décales en DEHORS de la plage.
> Mais merci bcp car la syntaxe est en effet Range("nomplage")(1,5).select.
>
> par contre du coup comment je parcours ma plage dans VBA si je connais pas
> le nb max de lignes???
>
> merci
> mik
>
> "MichDenis" wrote:
>
>> Présentation plus claire, réponse probablement mieux adapté !
>>
>> Soit la plage nommée "NomPlage" faisant référence à : $A$1:$E$14
>> Sélectionne la cellule F1 , soit 5 colonnes à droite de A1
>>
>> Range("nomplage")(1,1).Offset(, 5).Select
>>
>>
>>
>>
>> "mik" a écrit dans le message de groupe de
>> discussion :
>> J'ai fait le test et offset ne permet pas de sélectionner une celulle à
>> l'intérieur de la plage mais de sélectionner une zone de taille (nb lignes
>> et nb colonnes) identique à la plage par rapport à l'emplacement de cette
>> meme plage.
>>
>> donc dans mon exemple "nomplage" en $A$1:$E$14 (14 lignes, 5 colonnes)
>> Range("nomplage").Offset(1, 5).Select te sélectionne la plage $F$2:$J$15
>>
>> Donc la question est comment sélectionner une seule cellule de ma plage??
>>
>> Merci
>>
>> "Daniel.C" wrote:
>>
>>> Bonjour.
>>> Si tu n'as que 5 colonnes et que tu décales de 5, tu vas taper dans la
>>> 6e colonne à partir du bord gauche de "nomplage". Pour mieux le
>>> visualiser, entre :
>>> Range("nomplage").Offset(1, 5).Select
>>> et regarde ce qui est sélectionné.
>>> Daniel
>>>
>>>> Bonjour,
>>>>
>>>> ca ne donne rien de plus.
>>>> il y a 14 lignes et 5 colonnes donc je devrais de toutes facons voir
>>>> quelque chose en Range("nomplage").Offset(1, 5).value
>>>>
>>>> En mettant un espion dans VBA, cela m'indique que toutes les "coordonnes
>>>> de RANGE" sont vides... Pourtant il en voit bien de
>>>> Range("nomplage").Offset(1, 1) à Range("nomplage").Offset(14, 5).
>>>>
>>>> Merci de votre aide
>>>>
>>>> "MichDenis" wrote:
>>>>
>>>>> Bonjour Mik
>>>>>
>>>>> s = Range("nomplage").Offset(1, 5).Value
>>>>> Ceci retourne une ligne plus bas et 5 colonne plus à droite.
>>>>>
>>>>> Si tu veux obtenir la valeur de la cellule 5 colonnes à droite,
>>>>> s = Range("nomplage").Offset(0, 5).Value
>>>>> OU
>>>>> s = Range("nomplage").Offset(, 5).Value
>>>>>
>>>>>
>>>>>
>>>>> "mik" a écrit dans le message de groupe
>>>>> de discussion :
>>>>> Bon j'y arrive pas :(
>>>>> J'ai une formation prévue mi aout pour améliorer ça mais en attendant
>>>>> quelqu'un pourrait-il m'expliquer pourquoi "Range("nomplage").Offset(1,
>>>>> 5).Value m'affiche "vide" alors que j'ai bien 5 colonnes dans ma plage et
>>>>> que toutes mes celulles sont remplies?
>>>>>
>>>>> Ma demande finale est assez simple:
>>>>> J'ai 2 Plages, je voudrais faire une somme à la fin de la plage 1 d'apres
>>>>> un critère qu'il faudrait rechercher dans la plage 2. Un espèce de
>>>>> RECHERCHEV
>>>>>
>>>>> Exemple:
>>>>> Plage 1
>>>>> A1 =vide mais couleur fond bleu
>>>>> A2 =vide mais couleur fond rouge
>>>>>
>>>>> Plage 2
>>>>> B1 (de couleur fond bleu) 
>>>>> B2 (de couleur fond rouge) =5
>>>>>
>>>>> donc total en A3 à la fin de la plage 1 = 17
>>>>>
>>>>> Merci d'avance de votre aide
>>>>>
>>>>>
>>>>> "mik" wrote:
>>>>>
>>>>>> Merci Misange!!
>>>>>> C'est exactement ce que je cherchais!!
>>>>>>
>>>>>> Bonne journée,
>>>>>> mik
>>>>>>
>>>>>> "Misange" wrote:
>>>>>>
>>>>>>> Bonsoir,
>>>>>>> oui bien sur tu peux ! C'est même une excellente solution
>>>>>>> Range("MaPlage").select
>>>>>>>
>>>>>>> des infos plus détaillées ici
>>>>>>> http://www.excelabo.net/pasapas/range
>>>>>>>
>>>>>>> Misange migrateuse
>>>>>>> http://www.excelabo.net : Participez à un travail collaboratif sur
>>>>>>> excel !
>>>>>>>
>>>>>>>
>>>>>>> mik a écrit :
>>>>>>>> Bonjour,
>>>>>>>>
>>>>>>>> je cherchais a savoir si il était possible d'utiliser le nom que l'on
>>>>>>>> donne à une plage dans une macro.
>>>>>>>> Exemple:
>>>>>>>> je nomme ma plage "titi" qui fait référence à þuil1!$A$1:$B$2 et
>>>>>>>> ainsi dans ma macro je balaye "titi" au lieu de balayer
>>>>>>>> þuil1!$A$1:$B$2 en dur. Si ma macro est appelée dans un autre
>>>>>>>> fichier et que la plage "titi" a 150 lignes au lieu de 2 il n'est pas
>>>>>>>> besoin de retoucher le code (le nb de colonne change pas).
>>>>>>>>
>>>>>>>> Merci de votre réponse
>>>>>>>> mik
>>>>>>>
>>>>>
>>>
>>>
>>>
>>





Avatar
Daniel.C
1. pOURQUOI NE PAS FAIRE UN RECHERCHEV (VlookUp) ?
Sinon :
for each c in range("nomplage").Offset(,4).resize(,1)
'ton code
next c
Tu peux aussi :
For i = 1 to range("nomplage").Rows.count
Set c = range("nomplage")(5,i)
next i

Daniel

oui en effet, j'avais raccourci. bon résumé.

Ma demande était, elle aussi, imprécise. Comment faire pour parcourir que la
5ème colonne de toutes mes lignes??

L'objectif final étant en fait de faire une sorte de rechercheV

merci,
mik

"Daniel.C" wrote:

Inexact.
Range("A1:A10").Offset(1).Select
sélectionne les cellules A2:A11, soit à la fois des cellules internes
et des cellules externes à la plage initiale.
Le syntaxe :
Range("A1:A10")(1,2).Select
sélectionne B1, soit une cellule à l'extérieur de la plage initiale.
Si tu veux parcourir chacune de tes cellules, utilise :
Dim c as Range
For each c in range("nomplage")
....
next c
Daniel
PS le nombre de ligne de la plaqge est donné par :
range("nomplage").rows.count

non non offset ne sert pas à sélectionner une cellule de ma plage mais
seulement à décales en DEHORS de la plage.
Mais merci bcp car la syntaxe est en effet Range("nomplage")(1,5).select.

par contre du coup comment je parcours ma plage dans VBA si je connais pas
le nb max de lignes???

merci
mik

"MichDenis" wrote:

Présentation plus claire, réponse probablement mieux adapté !

Soit la plage nommée "NomPlage" faisant référence à : $A$1:$E$14
Sélectionne la cellule F1 , soit 5 colonnes à droite de A1

Range("nomplage")(1,1).Offset(, 5).Select




"mik" a écrit dans le message de groupe de
discussion :
J'ai fait le test et offset ne permet pas de sélectionner une celulle à
l'intérieur de la plage mais de sélectionner une zone de taille (nb lignes
et nb colonnes) identique à la plage par rapport à l'emplacement de cette
meme plage.

donc dans mon exemple "nomplage" en $A$1:$E$14 (14 lignes, 5 colonnes)
Range("nomplage").Offset(1, 5).Select te sélectionne la plage $F$2:$J$15

Donc la question est comment sélectionner une seule cellule de ma plage??

Merci

"Daniel.C" wrote:

Bonjour.
Si tu n'as que 5 colonnes et que tu décales de 5, tu vas taper dans la
6e colonne à partir du bord gauche de "nomplage". Pour mieux le
visualiser, entre :
Range("nomplage").Offset(1, 5).Select
et regarde ce qui est sélectionné.
Daniel

Bonjour,

ca ne donne rien de plus.
il y a 14 lignes et 5 colonnes donc je devrais de toutes facons voir
quelque chose en Range("nomplage").Offset(1, 5).value

En mettant un espion dans VBA, cela m'indique que toutes les "coordonnes
de RANGE" sont vides... Pourtant il en voit bien de
Range("nomplage").Offset(1, 1) à Range("nomplage").Offset(14, 5).

Merci de votre aide

"MichDenis" wrote:

Bonjour Mik

s = Range("nomplage").Offset(1, 5).Value
Ceci retourne une ligne plus bas et 5 colonne plus à droite.

Si tu veux obtenir la valeur de la cellule 5 colonnes à droite,
s = Range("nomplage").Offset(0, 5).Value
OU
s = Range("nomplage").Offset(, 5).Value



"mik" a écrit dans le message de groupe
de discussion :
Bon j'y arrive pas :(
J'ai une formation prévue mi aout pour améliorer ça mais en attendant
quelqu'un pourrait-il m'expliquer pourquoi "Range("nomplage").Offset(1,
5).Value m'affiche "vide" alors que j'ai bien 5 colonnes dans ma plage
et que toutes mes celulles sont remplies?

Ma demande finale est assez simple:
J'ai 2 Plages, je voudrais faire une somme à la fin de la plage 1
d'apres un critère qu'il faudrait rechercher dans la plage 2. Un
espèce de RECHERCHEV

Exemple:
Plage 1
A1 =vide mais couleur fond bleu
A2 =vide mais couleur fond rouge

Plage 2
B1 (de couleur fond bleu) 
B2 (de couleur fond rouge) =5

donc total en A3 à la fin de la plage 1 = 17

Merci d'avance de votre aide


"mik" wrote:

Merci Misange!!
C'est exactement ce que je cherchais!!

Bonne journée,
mik

"Misange" wrote:

Bonsoir,
oui bien sur tu peux ! C'est même une excellente solution
Range("MaPlage").select

des infos plus détaillées ici
http://www.excelabo.net/pasapas/range

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur
excel !


mik a écrit :
Bonjour,

je cherchais a savoir si il était possible d'utiliser le nom que
l'on donne à une plage dans une macro.
Exemple:
je nomme ma plage "titi" qui fait référence à þuil1!$A$1:$B$2 et
ainsi dans ma macro je balaye "titi" au lieu de balayer
þuil1!$A$1:$B$2 en dur. Si ma macro est appelée dans un autre
fichier et que la plage "titi" a 150 lignes au lieu de 2 il n'est
pas besoin de retoucher le code (le nb de colonne change pas).

Merci de votre réponse
mik





























Avatar
MichDenis
Une façon lisible de faire à l'aide d'une variable Objet "Range"
'---------------------------
Sub test()
Dim Rg As Range, C As Range

Set Rg = Range("Toto").Columns(Range("Toto").Columns.Count)
For Each c In Rg
'Ton code pour chaque cellule de
'la dernière colonne de ta plage nommée "toto"
Next
End Sub
'---------------------------

Ceci est aussi possible :
'--------------------------------------
Sub test()
Dim C As Range
For Each c In Range("Toto").Columns(Range("Toto").Columns.Count)
'Ton code pour chaque cellule de
'la dernière colonne de ta plage nommée "toto"
Next
End Sub
'--------------------------------------



"mik" a écrit dans le message de groupe de discussion :

oui en effet, j'avais raccourci. bon résumé.

Ma demande était, elle aussi, imprécise. Comment faire pour parcourir que la
5ème colonne de toutes mes lignes??

L'objectif final étant en fait de faire une sorte de rechercheV

merci,
mik

"Daniel.C" wrote:

Inexact.
Range("A1:A10").Offset(1).Select
sélectionne les cellules A2:A11, soit à la fois des cellules internes
et des cellules externes à la plage initiale.
Le syntaxe :
Range("A1:A10")(1,2).Select
sélectionne B1, soit une cellule à l'extérieur de la plage initiale.
Si tu veux parcourir chacune de tes cellules, utilise :
Dim c as Range
For each c in range("nomplage")
....
next c
Daniel
PS le nombre de ligne de la plaqge est donné par :
range("nomplage").rows.count

> non non offset ne sert pas à sélectionner une cellule de ma plage mais
> seulement à décales en DEHORS de la plage.
> Mais merci bcp car la syntaxe est en effet Range("nomplage")(1,5).select.
>
> par contre du coup comment je parcours ma plage dans VBA si je connais pas
> le nb max de lignes???
>
> merci
> mik
>
> "MichDenis" wrote:
>
>> Présentation plus claire, réponse probablement mieux adapté !
>>
>> Soit la plage nommée "NomPlage" faisant référence à : $A$1:$E$14
>> Sélectionne la cellule F1 , soit 5 colonnes à droite de A1
>>
>> Range("nomplage")(1,1).Offset(, 5).Select
>>
>>
>>
>>
>> "mik" a écrit dans le message de groupe de
>> discussion :
>> J'ai fait le test et offset ne permet pas de sélectionner une celulle à
>> l'intérieur de la plage mais de sélectionner une zone de taille (nb lignes
>> et nb colonnes) identique à la plage par rapport à l'emplacement de cette
>> meme plage.
>>
>> donc dans mon exemple "nomplage" en $A$1:$E$14 (14 lignes, 5 colonnes)
>> Range("nomplage").Offset(1, 5).Select te sélectionne la plage $F$2:$J$15
>>
>> Donc la question est comment sélectionner une seule cellule de ma plage??
>>
>> Merci
>>
>> "Daniel.C" wrote:
>>
>>> Bonjour.
>>> Si tu n'as que 5 colonnes et que tu décales de 5, tu vas taper dans la
>>> 6e colonne à partir du bord gauche de "nomplage". Pour mieux le
>>> visualiser, entre :
>>> Range("nomplage").Offset(1, 5).Select
>>> et regarde ce qui est sélectionné.
>>> Daniel
>>>
>>>> Bonjour,
>>>>
>>>> ca ne donne rien de plus.
>>>> il y a 14 lignes et 5 colonnes donc je devrais de toutes facons voir
>>>> quelque chose en Range("nomplage").Offset(1, 5).value
>>>>
>>>> En mettant un espion dans VBA, cela m'indique que toutes les "coordonnes
>>>> de RANGE" sont vides... Pourtant il en voit bien de
>>>> Range("nomplage").Offset(1, 1) à Range("nomplage").Offset(14, 5).
>>>>
>>>> Merci de votre aide
>>>>
>>>> "MichDenis" wrote:
>>>>
>>>>> Bonjour Mik
>>>>>
>>>>> s = Range("nomplage").Offset(1, 5).Value
>>>>> Ceci retourne une ligne plus bas et 5 colonne plus à droite.
>>>>>
>>>>> Si tu veux obtenir la valeur de la cellule 5 colonnes à droite,
>>>>> s = Range("nomplage").Offset(0, 5).Value
>>>>> OU
>>>>> s = Range("nomplage").Offset(, 5).Value
>>>>>
>>>>>
>>>>>
>>>>> "mik" a écrit dans le message de groupe
>>>>> de discussion :
>>>>> Bon j'y arrive pas :(
>>>>> J'ai une formation prévue mi aout pour améliorer ça mais en attendant
>>>>> quelqu'un pourrait-il m'expliquer pourquoi "Range("nomplage").Offset(1,
>>>>> 5).Value m'affiche "vide" alors que j'ai bien 5 colonnes dans ma plage et
>>>>> que toutes mes celulles sont remplies?
>>>>>
>>>>> Ma demande finale est assez simple:
>>>>> J'ai 2 Plages, je voudrais faire une somme à la fin de la plage 1 d'apres
>>>>> un critère qu'il faudrait rechercher dans la plage 2. Un espèce de
>>>>> RECHERCHEV
>>>>>
>>>>> Exemple:
>>>>> Plage 1
>>>>> A1 =vide mais couleur fond bleu
>>>>> A2 =vide mais couleur fond rouge
>>>>>
>>>>> Plage 2
>>>>> B1 (de couleur fond bleu) 
>>>>> B2 (de couleur fond rouge) =5
>>>>>
>>>>> donc total en A3 à la fin de la plage 1 = 17
>>>>>
>>>>> Merci d'avance de votre aide
>>>>>
>>>>>
>>>>> "mik" wrote:
>>>>>
>>>>>> Merci Misange!!
>>>>>> C'est exactement ce que je cherchais!!
>>>>>>
>>>>>> Bonne journée,
>>>>>> mik
>>>>>>
>>>>>> "Misange" wrote:
>>>>>>
>>>>>>> Bonsoir,
>>>>>>> oui bien sur tu peux ! C'est même une excellente solution
>>>>>>> Range("MaPlage").select
>>>>>>>
>>>>>>> des infos plus détaillées ici
>>>>>>> http://www.excelabo.net/pasapas/range
>>>>>>>
>>>>>>> Misange migrateuse
>>>>>>> http://www.excelabo.net : Participez à un travail collaboratif sur
>>>>>>> excel !
>>>>>>>
>>>>>>>
>>>>>>> mik a écrit :
>>>>>>>> Bonjour,
>>>>>>>>
>>>>>>>> je cherchais a savoir si il était possible d'utiliser le nom que l'on
>>>>>>>> donne à une plage dans une macro.
>>>>>>>> Exemple:
>>>>>>>> je nomme ma plage "titi" qui fait référence à þuil1!$A$1:$B$2 et
>>>>>>>> ainsi dans ma macro je balaye "titi" au lieu de balayer
>>>>>>>> þuil1!$A$1:$B$2 en dur. Si ma macro est appelée dans un autre
>>>>>>>> fichier et que la plage "titi" a 150 lignes au lieu de 2 il n'est pas
>>>>>>>> besoin de retoucher le code (le nb de colonne change pas).
>>>>>>>>
>>>>>>>> Merci de votre réponse
>>>>>>>> mik
>>>>>>>
>>>>>
>>>
>>>
>>>
>>





Avatar
mik
parfait.
Merci a tous les 2

Bonne journée,
mik

"MichDenis" wrote:

Une façon lisible de faire à l'aide d'une variable Objet "Range"
'---------------------------
Sub test()
Dim Rg As Range, C As Range

Set Rg = Range("Toto").Columns(Range("Toto").Columns.Count)
For Each c In Rg
'Ton code pour chaque cellule de
'la dernière colonne de ta plage nommée "toto"
Next
End Sub
'---------------------------

Ceci est aussi possible :
'--------------------------------------
Sub test()
Dim C As Range
For Each c In Range("Toto").Columns(Range("Toto").Columns.Count)
'Ton code pour chaque cellule de
'la dernière colonne de ta plage nommée "toto"
Next
End Sub
'--------------------------------------



"mik" a écrit dans le message de groupe de discussion :

oui en effet, j'avais raccourci. bon résumé.

Ma demande était, elle aussi, imprécise. Comment faire pour parcourir que la
5ème colonne de toutes mes lignes??

L'objectif final étant en fait de faire une sorte de rechercheV

merci,
mik

"Daniel.C" wrote:

> Inexact.
> Range("A1:A10").Offset(1).Select
> sélectionne les cellules A2:A11, soit à la fois des cellules internes
> et des cellules externes à la plage initiale.
> Le syntaxe :
> Range("A1:A10")(1,2).Select
> sélectionne B1, soit une cellule à l'extérieur de la plage initiale.
> Si tu veux parcourir chacune de tes cellules, utilise :
> Dim c as Range
> For each c in range("nomplage")
> ....
> next c
> Daniel
> PS le nombre de ligne de la plaqge est donné par :
> range("nomplage").rows.count
>
> > non non offset ne sert pas à sélectionner une cellule de ma plage mais
> > seulement à décales en DEHORS de la plage.
> > Mais merci bcp car la syntaxe est en effet Range("nomplage")(1,5).select.
> >
> > par contre du coup comment je parcours ma plage dans VBA si je connais pas
> > le nb max de lignes???
> >
> > merci
> > mik
> >
> > "MichDenis" wrote:
> >
> >> Présentation plus claire, réponse probablement mieux adapté !
> >>
> >> Soit la plage nommée "NomPlage" faisant référence à : $A$1:$E$14
> >> Sélectionne la cellule F1 , soit 5 colonnes à droite de A1
> >>
> >> Range("nomplage")(1,1).Offset(, 5).Select
> >>
> >>
> >>
> >>
> >> "mik" a écrit dans le message de groupe de
> >> discussion :
> >> J'ai fait le test et offset ne permet pas de sélectionner une celulle à
> >> l'intérieur de la plage mais de sélectionner une zone de taille (nb lignes
> >> et nb colonnes) identique à la plage par rapport à l'emplacement de cette
> >> meme plage.
> >>
> >> donc dans mon exemple "nomplage" en $A$1:$E$14 (14 lignes, 5 colonnes)
> >> Range("nomplage").Offset(1, 5).Select te sélectionne la plage $F$2:$J$15
> >>
> >> Donc la question est comment sélectionner une seule cellule de ma plage??
> >>
> >> Merci
> >>
> >> "Daniel.C" wrote:
> >>
> >>> Bonjour.
> >>> Si tu n'as que 5 colonnes et que tu décales de 5, tu vas taper dans la
> >>> 6e colonne à partir du bord gauche de "nomplage". Pour mieux le
> >>> visualiser, entre :
> >>> Range("nomplage").Offset(1, 5).Select
> >>> et regarde ce qui est sélectionné.
> >>> Daniel
> >>>
> >>>> Bonjour,
> >>>>
> >>>> ca ne donne rien de plus.
> >>>> il y a 14 lignes et 5 colonnes donc je devrais de toutes facons voir
> >>>> quelque chose en Range("nomplage").Offset(1, 5).value
> >>>>
> >>>> En mettant un espion dans VBA, cela m'indique que toutes les "coordonnes
> >>>> de RANGE" sont vides... Pourtant il en voit bien de
> >>>> Range("nomplage").Offset(1, 1) à Range("nomplage").Offset(14, 5).
> >>>>
> >>>> Merci de votre aide
> >>>>
> >>>> "MichDenis" wrote:
> >>>>
> >>>>> Bonjour Mik
> >>>>>
> >>>>> s = Range("nomplage").Offset(1, 5).Value
> >>>>> Ceci retourne une ligne plus bas et 5 colonne plus à droite.
> >>>>>
> >>>>> Si tu veux obtenir la valeur de la cellule 5 colonnes à droite,
> >>>>> s = Range("nomplage").Offset(0, 5).Value
> >>>>> OU
> >>>>> s = Range("nomplage").Offset(, 5).Value
> >>>>>
> >>>>>
> >>>>>
> >>>>> "mik" a écrit dans le message de groupe
> >>>>> de discussion :
> >>>>> Bon j'y arrive pas :(
> >>>>> J'ai une formation prévue mi aout pour améliorer ça mais en attendant
> >>>>> quelqu'un pourrait-il m'expliquer pourquoi "Range("nomplage").Offset(1,
> >>>>> 5).Value m'affiche "vide" alors que j'ai bien 5 colonnes dans ma plage et
> >>>>> que toutes mes celulles sont remplies?
> >>>>>
> >>>>> Ma demande finale est assez simple:
> >>>>> J'ai 2 Plages, je voudrais faire une somme à la fin de la plage 1 d'apres
> >>>>> un critère qu'il faudrait rechercher dans la plage 2. Un espèce de
> >>>>> RECHERCHEV
> >>>>>
> >>>>> Exemple:
> >>>>> Plage 1
> >>>>> A1 =vide mais couleur fond bleu
> >>>>> A2 =vide mais couleur fond rouge
> >>>>>
> >>>>> Plage 2
> >>>>> B1 (de couleur fond bleu) 
> >>>>> B2 (de couleur fond rouge) =5
> >>>>>
> >>>>> donc total en A3 à la fin de la plage 1 = 17
> >>>>>
> >>>>> Merci d'avance de votre aide
> >>>>>
> >>>>>
> >>>>> "mik" wrote:
> >>>>>
> >>>>>> Merci Misange!!
> >>>>>> C'est exactement ce que je cherchais!!
> >>>>>>
> >>>>>> Bonne journée,
> >>>>>> mik
> >>>>>>
> >>>>>> "Misange" wrote:
> >>>>>>
> >>>>>>> Bonsoir,
> >>>>>>> oui bien sur tu peux ! C'est même une excellente solution
> >>>>>>> Range("MaPlage").select
> >>>>>>>
> >>>>>>> des infos plus détaillées ici
> >>>>>>> http://www.excelabo.net/pasapas/range
> >>>>>>>
> >>>>>>> Misange migrateuse
> >>>>>>> http://www.excelabo.net : Participez à un travail collaboratif sur
> >>>>>>> excel !
> >>>>>>>
> >>>>>>>
> >>>>>>> mik a écrit :
> >>>>>>>> Bonjour,
> >>>>>>>>
> >>>>>>>> je cherchais a savoir si il était possible d'utiliser le nom que l'on
> >>>>>>>> donne à une plage dans une macro.
> >>>>>>>> Exemple:
> >>>>>>>> je nomme ma plage "titi" qui fait référence à þuil1!$A$1:$B$2 et
> >>>>>>>> ainsi dans ma macro je balaye "titi" au lieu de balayer
> >>>>>>>> þuil1!$A$1:$B$2 en dur. Si ma macro est appelée dans un autre
> >>>>>>>> fichier et que la plage "titi" a 150 lignes au lieu de 2 il n'est pas
> >>>>>>>> besoin de retoucher le code (le nb de colonne change pas).
> >>>>>>>>
> >>>>>>>> Merci de votre réponse
> >>>>>>>> mik
> >>>>>>>
> >>>>>
> >>>
> >>>
> >>>
> >>
>
>
>



1 2