Bonjour;
J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un
programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée
sélectionne les cellules correspondante et applique un format bordure puis
passe à la plage nommée suivante... .
Difficulté supplementaire: les plages nommées sont des plages dynamiques.
J'ai bien trouvé une macro mais elle marche uniquement avec des plages
statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas.
Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de
plus.
Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nomm ée sélectionne les cellules correspondante et applique un format bordure p uis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiq ues. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit bl anche de plus.
Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai()
For Each n In ActiveWorkbook.Names
Range(n.Name).BorderAround Weight:=xlMedium
Next n
End Sub
On 29 jan, 17:58, "luck82" <tempo-l...@voila.fr> wrote:
Bonjour;
J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un
programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nomm ée
sélectionne les cellules correspondante et applique un format bordure p uis
passe à la plage nommée suivante... .
Difficulté supplementaire: les plages nommées sont des plages dynamiq ues.
J'ai bien trouvé une macro mais elle marche uniquement avec des plages
statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas.
Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit bl anche de
plus.
Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nomm ée sélectionne les cellules correspondante et applique un format bordure p uis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiq ues. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit bl anche de plus.
luck82
Merci beaucoup JB; le code marche supers bien.
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que deviendrai les lignes: Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le code dans un module je le mets dans un objet feuil. Désolais pour cette question certainement évidente mais j'ai du mal à voire les differences entre module, objet feuil, private sub, const sub, sub ... .
Codialement.
"JB" a écrit dans le message de news: Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai() For Each n In ActiveWorkbook.Names Range(n.Name).BorderAround Weight:=xlMedium Next n End Sub
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que
deviendrai les lignes:
Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le
code dans un module je le mets dans un objet feuil.
Désolais pour cette question certainement évidente mais j'ai du mal à voire
les differences entre module, objet feuil, private sub, const sub, sub ... .
Codialement.
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:1170091166.930122.144580@h3g2000cwc.googlegroups.com...
Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai()
For Each n In ActiveWorkbook.Names
Range(n.Name).BorderAround Weight:=xlMedium
Next n
End Sub
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que deviendrai les lignes: Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le code dans un module je le mets dans un objet feuil. Désolais pour cette question certainement évidente mais j'ai du mal à voire les differences entre module, objet feuil, private sub, const sub, sub ... .
Codialement.
"JB" a écrit dans le message de news: Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai() For Each n In ActiveWorkbook.Names Range(n.Name).BorderAround Weight:=xlMedium Next n End Sub
Tu peux utiliser ceci : Tu peux le placer dans un module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur, tu dois d'abord t'assurer dans ta procédure que tous tes noms sont des plages de cellules, nom des formules ou des constantes.
'-------------------------- Sub test() Dim Plg As String For Each n In ThisWorkbook.Names Plg = Replace([n], "=", "") If TypeOf Evaluate(Plg) Is Range Then Range(Plg).BorderAround xlContinuous, xlThick End If Next End Sub '--------------------------
"luck82" a écrit dans le message de news: % Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée sélectionne les cellules correspondante et applique un format bordure puis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiques. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de plus.
Tu peux utiliser ceci : Tu peux le placer dans un
module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur,
tu dois d'abord t'assurer dans ta procédure que tous
tes noms sont des plages de cellules, nom des formules
ou des constantes.
'--------------------------
Sub test()
Dim Plg As String
For Each n In ThisWorkbook.Names
Plg = Replace([n], "=", "")
If TypeOf Evaluate(Plg) Is Range Then
Range(Plg).BorderAround xlContinuous, xlThick
End If
Next
End Sub
'--------------------------
"luck82" <tempo-lyon@voila.fr> a écrit dans le message de news:
%23zzBGb8QHHA.1036@TK2MSFTNGP03.phx.gbl...
Bonjour;
J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un
programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée
sélectionne les cellules correspondante et applique un format bordure puis
passe à la plage nommée suivante... .
Difficulté supplementaire: les plages nommées sont des plages dynamiques.
J'ai bien trouvé une macro mais elle marche uniquement avec des plages
statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas.
Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de
plus.
Tu peux utiliser ceci : Tu peux le placer dans un module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur, tu dois d'abord t'assurer dans ta procédure que tous tes noms sont des plages de cellules, nom des formules ou des constantes.
'-------------------------- Sub test() Dim Plg As String For Each n In ThisWorkbook.Names Plg = Replace([n], "=", "") If TypeOf Evaluate(Plg) Is Range Then Range(Plg).BorderAround xlContinuous, xlThick End If Next End Sub '--------------------------
"luck82" a écrit dans le message de news: % Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée sélectionne les cellules correspondante et applique un format bordure puis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiques. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de plus.
JB
Les procédures (Sub) et fonctions(Function) définies dans les modules sont destinées à être utilisées dans tout le classeur. Le code placé dans une feuille est en principe propre à celle-ci. L'option Private empêche d'y accéder hors de la feuille. On trouve essentiellement dans les feuilles des procédures événementielles :Private Sub Worksheet_Change(),BeforeDoubleClick,...
JB
Une fonction On 29 jan, 19:41, "luck82" wrote:
Merci beaucoup JB; le code marche supers bien.
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que deviendrai les lignes: Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le code dans un module je le mets dans un objet feuil. Désolais pour cette question certainement évidente mais j'ai du mal à voire les differences entre module, objet feuil, private sub, const sub, sub .. . .
Codialement.
"JB" a écrit dans le message denews:117009116 Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai() For Each n In ActiveWorkbook.Names Range(n.Name).BorderAround Weight:=xlMedium Next n End Sub
Les procédures (Sub) et fonctions(Function) définies dans les modules
sont destinées à être utilisées dans tout le classeur.
Le code placé dans une feuille est en principe propre à celle-ci.
L'option Private empêche d'y accéder hors de la feuille. On trouve
essentiellement dans les feuilles des procédures
événementielles :Private Sub Worksheet_Change(),BeforeDoubleClick,...
JB
Une fonction
On 29 jan, 19:41, "luck82" <tempo-l...@voila.fr> wrote:
Merci beaucoup JB; le code marche supers bien.
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que
deviendrai les lignes:
Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le
code dans un module je le mets dans un objet feuil.
Désolais pour cette question certainement évidente mais j'ai du mal à voire
les differences entre module, objet feuil, private sub, const sub, sub .. . .
Codialement.
"JB" <boisgont...@hotmail.com> a écrit dans le message denews:117009116 6.930122.144580@h3g2000cwc.googlegroups.com...
Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai()
For Each n In ActiveWorkbook.Names
Range(n.Name).BorderAround Weight:=xlMedium
Next n
End Sub
Les procédures (Sub) et fonctions(Function) définies dans les modules sont destinées à être utilisées dans tout le classeur. Le code placé dans une feuille est en principe propre à celle-ci. L'option Private empêche d'y accéder hors de la feuille. On trouve essentiellement dans les feuilles des procédures événementielles :Private Sub Worksheet_Change(),BeforeDoubleClick,...
JB
Une fonction On 29 jan, 19:41, "luck82" wrote:
Merci beaucoup JB; le code marche supers bien.
PS: Actuellement en plien apprentissage du VBA, je voudrai savoir ce que deviendrai les lignes: Sub essai() et For Each n In ActiveWorkbook.Names si au lieu de mettre le code dans un module je le mets dans un objet feuil. Désolais pour cette question certainement évidente mais j'ai du mal à voire les differences entre module, objet feuil, private sub, const sub, sub .. . .
Codialement.
"JB" a écrit dans le message denews:117009116 Bonjour,
http://cjoint.com/?bDssmcp5nS
Sub essai() For Each n In ActiveWorkbook.Names Range(n.Name).BorderAround Weight:=xlMedium Next n End Sub
Légère correction, car la procédure doit aussi tenir compte des noms définis localement au niveau d'une feuille :
'---------------------------- Sub test() Dim Plg As String For Each N In ThisWorkbook.Names Plg = Replace([N], "=", "") If Left(Plg, 1) = "!" Then Plg = N.Parent.Name & Plg If TypeOf Evaluate(Plg) Is Range Then Evaluate([Plg]).BorderAround xlContinuous, xlThick End If Next End Sub '----------------------------
"MichDenis" a écrit dans le message de news:
Tu peux utiliser ceci : Tu peux le placer dans un module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur, tu dois d'abord t'assurer dans ta procédure que tous tes noms sont des plages de cellules, nom des formules ou des constantes.
'-------------------------- Sub test() Dim Plg As String For Each n In ThisWorkbook.Names Plg = Replace([n], "=", "") If TypeOf Evaluate(Plg) Is Range Then Range(Plg).BorderAround xlContinuous, xlThick End If Next End Sub '--------------------------
"luck82" a écrit dans le message de news: % Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée sélectionne les cellules correspondante et applique un format bordure puis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiques. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de plus.
Légère correction, car la procédure doit aussi tenir compte
des noms définis localement au niveau d'une feuille :
'----------------------------
Sub test()
Dim Plg As String
For Each N In ThisWorkbook.Names
Plg = Replace([N], "=", "")
If Left(Plg, 1) = "!" Then Plg = N.Parent.Name & Plg
If TypeOf Evaluate(Plg) Is Range Then
Evaluate([Plg]).BorderAround xlContinuous, xlThick
End If
Next
End Sub
'----------------------------
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
OQZycl9QHHA.4832@TK2MSFTNGP04.phx.gbl...
Tu peux utiliser ceci : Tu peux le placer dans un
module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur,
tu dois d'abord t'assurer dans ta procédure que tous
tes noms sont des plages de cellules, nom des formules
ou des constantes.
'--------------------------
Sub test()
Dim Plg As String
For Each n In ThisWorkbook.Names
Plg = Replace([n], "=", "")
If TypeOf Evaluate(Plg) Is Range Then
Range(Plg).BorderAround xlContinuous, xlThick
End If
Next
End Sub
'--------------------------
"luck82" <tempo-lyon@voila.fr> a écrit dans le message de news:
%23zzBGb8QHHA.1036@TK2MSFTNGP03.phx.gbl...
Bonjour;
J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un
programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée
sélectionne les cellules correspondante et applique un format bordure puis
passe à la plage nommée suivante... .
Difficulté supplementaire: les plages nommées sont des plages dynamiques.
J'ai bien trouvé une macro mais elle marche uniquement avec des plages
statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas.
Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de
plus.
Légère correction, car la procédure doit aussi tenir compte des noms définis localement au niveau d'une feuille :
'---------------------------- Sub test() Dim Plg As String For Each N In ThisWorkbook.Names Plg = Replace([N], "=", "") If Left(Plg, 1) = "!" Then Plg = N.Parent.Name & Plg If TypeOf Evaluate(Plg) Is Range Then Evaluate([Plg]).BorderAround xlContinuous, xlThick End If Next End Sub '----------------------------
"MichDenis" a écrit dans le message de news:
Tu peux utiliser ceci : Tu peux le placer dans un module standard ou un module feuille.
Si tu boucle sur l'ensemble des "noms" de ton classeur, tu dois d'abord t'assurer dans ta procédure que tous tes noms sont des plages de cellules, nom des formules ou des constantes.
'-------------------------- Sub test() Dim Plg As String For Each n In ThisWorkbook.Names Plg = Replace([n], "=", "") If TypeOf Evaluate(Plg) Is Range Then Range(Plg).BorderAround xlContinuous, xlThick End If Next End Sub '--------------------------
"luck82" a écrit dans le message de news: % Bonjour; J'ai nommées des plages de cellules (avec excel97) et je voudrai faire un programme en VBA qui boucle sur ma collection ( de plages nommées).
Je m'explique: il faudrait que la macro recherche la premiere plage nommée sélectionne les cellules correspondante et applique un format bordure puis passe à la plage nommée suivante... . Difficulté supplementaire: les plages nommées sont des plages dynamiques. J'ai bien trouvé une macro mais elle marche uniquement avec des plages statique du style Toto=$A$1:$A$10
Voila, j'ai beau chercher mais là je n'y arrive pas. Si quelqu'un à une idée! Merci par avance; ca m'évitera une nuit blanche de plus.
luck82
Merci pour la contribution de tous.
La macro de JB correspond parfaitement à mon besion.
Bonne soirée à tous.
Merci pour la contribution de tous.
La macro de JB correspond parfaitement à mon besion.