J'ai un classeur dont une feuille originale est copi=E9e n fois selon
besoin.
Chacune des copies de la feuille originale est num=E9rot=E9e 'MaFeuille_1,
MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite
de 'service'.
Cette cellule est nomm=E9e 'Service_0'
Sur 'MaFeuille_1' la m=EAme cellule est nomm=E9e 'Service_1'
Sur 'MaFeuille_2' la m=EAme cellule est nomm=E9e 'Service_2'
.=2E.
Je veux r=E9aliser une routine commune pour les n feuilles recopi=E9es,
en passant les noms de plage en param=E9tre :
Sub RoutineCommune (Service_1 as range )
...
Set plageService =3D Range(Service_0) <=3D=3D C'est ici o=F9
=E7a coince
Mon Pb : Comment faire pour passer une plage nomm=E9e en parametre ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
hasco
Le type du paramètre passé à la routine doit être de type string
Par exemple en supposant deux plage Nommées "Service_0" à "Service_2"
Sub test() Dim Nom As String Dim i As Integer
For i = 0 To 2 Nom = "Service_" & i RoutineCommune (Nom) Next i End Sub
Sub RoutineCommune(NomPlage As String)
MsgBox Range(NomPlage).Value
End Sub
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ....
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Remerciements anticipés. Le Nordiste
Le type du paramètre passé à la routine doit être de type string
Par exemple en supposant deux plage Nommées "Service_0" à "Service_2"
Sub test()
Dim Nom As String
Dim i As Integer
For i = 0 To 2
Nom = "Service_" & i
RoutineCommune (Nom)
Next i
End Sub
Sub RoutineCommune(NomPlage As String)
MsgBox Range(NomPlage).Value
End Sub
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon
besoin.
Chacune des copies de la feuille originale est numérotée 'MaFeuille_1,
MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite
de 'service'.
Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1'
Sur 'MaFeuille_2' la même cellule est nommée 'Service_2'
....
Je veux réaliser une routine commune pour les n feuilles recopiées,
en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range )
...
Set plageService = Range(Service_0) <== C'est ici où
ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Le type du paramètre passé à la routine doit être de type string
Par exemple en supposant deux plage Nommées "Service_0" à "Service_2"
Sub test() Dim Nom As String Dim i As Integer
For i = 0 To 2 Nom = "Service_" & i RoutineCommune (Nom) Next i End Sub
Sub RoutineCommune(NomPlage As String)
MsgBox Range(NomPlage).Value
End Sub
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ....
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Remerciements anticipés. Le Nordiste
Daniel
Bonjour. Tu peux utiliser la macro suivante, sans passage de paramètre :
Sub test() Dim sh As Worksheet For Each sh In Sheets If Left(sh.Name, 10) = "MaFeuille_" Then Range("A1").Name = "Service_" & _ Right(sh.Name, Len(sh.Name) - 10) End If Next sh End Sub
Cordialement. Daniel "Le Nordiste" a écrit dans le message de news: Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ...
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Remerciements anticipés. Le Nordiste
Bonjour.
Tu peux utiliser la macro suivante, sans passage de paramètre :
Sub test()
Dim sh As Worksheet
For Each sh In Sheets
If Left(sh.Name, 10) = "MaFeuille_" Then
Range("A1").Name = "Service_" & _
Right(sh.Name, Len(sh.Name) - 10)
End If
Next sh
End Sub
Cordialement.
Daniel
"Le Nordiste" <jean-paul.bataille@neufcegetel.fr> a écrit dans le message de
news: 1177405469.283296.198270@r3g2000prh.googlegroups.com...
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon
besoin.
Chacune des copies de la feuille originale est numérotée 'MaFeuille_1,
MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite
de 'service'.
Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1'
Sur 'MaFeuille_2' la même cellule est nommée 'Service_2'
...
Je veux réaliser une routine commune pour les n feuilles recopiées,
en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range )
...
Set plageService = Range(Service_0) <== C'est ici où
ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Bonjour. Tu peux utiliser la macro suivante, sans passage de paramètre :
Sub test() Dim sh As Worksheet For Each sh In Sheets If Left(sh.Name, 10) = "MaFeuille_" Then Range("A1").Name = "Service_" & _ Right(sh.Name, Len(sh.Name) - 10) End If Next sh End Sub
Cordialement. Daniel "Le Nordiste" a écrit dans le message de news: Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ...
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Remerciements anticipés. Le Nordiste
MichDenis
As-tu essayé d'utiliser des "Plages nommées" localement c'est à dire au niveau de la feuille de calcul plutôt qu'au niveau du classeur
Lorsque tu crées ces "NOMS", il s'agit que tu ajoutes à la déclaration de leur nom, le nom de la feuille où ils sont créés. Exemple de déclaration d'un nom au moment de la création : Feuil1!toto
Lorsque tu feras une copie dans le même classeur, la plage nommée conservera son nom mais modifiera automatiquement le nom de la feuille à laquelle il fait référence
Ce type de code sera bon pour extraire la référence à la plage nommée pour tous les noms locaux sur toutes les feuilles
x est une variable qui reçoit le nom de la plage nommées de la feuille "Bozo" dans l'exemple suivant
With Worksheets("Bozo") x = Replace(.Range(.Name & "!toto").Name, "=", "") End With
"Le Nordiste" a écrit dans le message de news:
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ...
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
Remerciements anticipés. Le Nordiste
As-tu essayé d'utiliser des "Plages nommées" localement c'est à dire au niveau de la feuille
de calcul plutôt qu'au niveau du classeur
Lorsque tu crées ces "NOMS", il s'agit que tu ajoutes à la déclaration de leur nom,
le nom de la feuille où ils sont créés.
Exemple de déclaration d'un nom au moment de la création : Feuil1!toto
Lorsque tu feras une copie dans le même classeur, la plage nommée conservera son nom
mais modifiera automatiquement le nom de la feuille à laquelle il fait référence
Ce type de code sera bon pour extraire la référence à la plage nommée
pour tous les noms locaux sur toutes les feuilles
x est une variable qui reçoit le nom de la plage nommées
de la feuille "Bozo" dans l'exemple suivant
With Worksheets("Bozo")
x = Replace(.Range(.Name & "!toto").Name, "=", "")
End With
"Le Nordiste" <jean-paul.bataille@neufcegetel.fr> a écrit dans le message de news:
1177405469.283296.198270@r3g2000prh.googlegroups.com...
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon
besoin.
Chacune des copies de la feuille originale est numérotée 'MaFeuille_1,
MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite
de 'service'.
Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1'
Sur 'MaFeuille_2' la même cellule est nommée 'Service_2'
...
Je veux réaliser une routine commune pour les n feuilles recopiées,
en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range )
...
Set plageService = Range(Service_0) <== C'est ici où
ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?
As-tu essayé d'utiliser des "Plages nommées" localement c'est à dire au niveau de la feuille de calcul plutôt qu'au niveau du classeur
Lorsque tu crées ces "NOMS", il s'agit que tu ajoutes à la déclaration de leur nom, le nom de la feuille où ils sont créés. Exemple de déclaration d'un nom au moment de la création : Feuil1!toto
Lorsque tu feras une copie dans le même classeur, la plage nommée conservera son nom mais modifiera automatiquement le nom de la feuille à laquelle il fait référence
Ce type de code sera bon pour extraire la référence à la plage nommée pour tous les noms locaux sur toutes les feuilles
x est une variable qui reçoit le nom de la plage nommées de la feuille "Bozo" dans l'exemple suivant
With Worksheets("Bozo") x = Replace(.Range(.Name & "!toto").Name, "=", "") End With
"Le Nordiste" a écrit dans le message de news:
Bonjour,
J'ai un classeur dont une feuille originale est copiée n fois selon besoin. Chacune des copies de la feuille originale est numérotée 'MaFeuille_1, MaFe..._2, MaF...
Sur la feuille originale des cellules dont une pour l'exemple traite de 'service'. Cette cellule est nommée 'Service_0'
Sur 'MaFeuille_1' la même cellule est nommée 'Service_1' Sur 'MaFeuille_2' la même cellule est nommée 'Service_2' ...
Je veux réaliser une routine commune pour les n feuilles recopiées, en passant les noms de plage en paramétre :
Sub RoutineCommune (Service_1 as range ) ... Set plageService = Range(Service_0) <== C'est ici où ça coince
Mon Pb : Comment faire pour passer une plage nommée en parametre ?