dupliquer la feuille "canevas", et lui donner le nom :
Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille
Champ_nommé_courant =
Intersect(Range("colonne courante de la base "), Rows(lignes))
Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
dupliquer la feuille "canevas", et lui donner le nom : Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille Champ_nommé_courant = Intersect(Range("colonne courante de la base "), Rows(lignes)) Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
MErci encore José
je me répond à moi même... un petit coup de main s'youplé les guruzzzzz ?
Merci
Alfred Wallace wrote:
Bonsoir les guruz :-)
grace à vous (le 3 et 6 fevrier) j'avance dans mon projet.
C'est pas gagné, parceque je suis pas (et de loin) spécialiste
dans le VBA.
j'ai une base de cette nature :
NOM PRENOM AGE VILLE
AAAA Ttttt 15 PARIS
BBBB Uuuuuu 22 DIJON
CCCC Kkkkkkk 20 LILLE
chaque colonne est nommée grace à son étiquette Base_NOM, Base_PREN OM
Base_AGE et Base_VILLE
j'aimerai faire un etat de cette forme par exemple :
Nom : AAAAA Tttttt Age : 15 ans
Résidence principale : PARIS
je dois créer une feuille pour chaque ligne de la colonne NOM
j'ai créer une feuille "caneva" qui est comme çà
Nom : <Etat_NOM> <Etat_PRENOM> Age : <Etat_Age> ans
Résidence principale : <Etat_VILLE>
en sachant que <Etat_NOM>,<Etat_PRENOM>,<Etat_Age> et <Etat_VILLE> sont
des cellules nommées et positionnées à l'avance dans la feuille "ca neva"
ouf !!! ma recherche, et donc ma question est la suivante.
Au lieu de faire :
Pour chaque lignes de la base
dupliquer la feuille "canevas", et lui donner le nom :
Intersect(Range("Base_NOM"), Rows(lignes))
dupliquer la feuille "canevas", et lui donner le nom :
Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille
Champ_nommé_courant =
Intersect(Range("colonne courante de la base "), Rows(lignes))
Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
MErci encore
José
je me répond à moi même... un petit coup de main s'youplé les
guruzzzzz ?
dupliquer la feuille "canevas", et lui donner le nom : Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille Champ_nommé_courant = Intersect(Range("colonne courante de la base "), Rows(lignes)) Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
MErci encore José
je me répond à moi même... un petit coup de main s'youplé les guruzzzzz ?
Merci
JLuc
*Bonjour Alfred Wallace*, Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase() Set base = Sheets("Base") For x = 2 To base.Range("A65536").End(xlUp).Row Sheets("Caneva").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _ " " & Sheets("Base").Cells(x, 2) Set nouvelle = Sheets(Sheets.Count) nouvelle.Range("Etat_NOM") = base.Cells(x, 1) nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2) nouvelle.Range("Etat_AGE") = base.Cells(x, 3) nouvelle.Range("Etat_VILLE") = base.Cells(x, 4) Next End Sub
dupliquer la feuille "canevas", et lui donner le nom : Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille Champ_nommé_courant > Intersect(Range("colonne courante de la base "), Rows(lignes)) Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
MErci encore José
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Alfred Wallace*,
Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase()
Set base = Sheets("Base")
For x = 2 To base.Range("A65536").End(xlUp).Row
Sheets("Caneva").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _
" " & Sheets("Base").Cells(x, 2)
Set nouvelle = Sheets(Sheets.Count)
nouvelle.Range("Etat_NOM") = base.Cells(x, 1)
nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2)
nouvelle.Range("Etat_AGE") = base.Cells(x, 3)
nouvelle.Range("Etat_VILLE") = base.Cells(x, 4)
Next
End Sub
Classeur exemple :
http://cjoint.com/?ciuGrAo5zf
Bonsoir les guruz :-)
grace à vous (le 3 et 6 fevrier) j'avance dans mon projet.
C'est pas gagné, parceque je suis pas (et de loin) spécialiste
dans le VBA.
j'ai une base de cette nature :
NOM PRENOM AGE VILLE
AAAA Ttttt 15 PARIS
BBBB Uuuuuu 22 DIJON
CCCC Kkkkkkk 20 LILLE
chaque colonne est nommée grace à son étiquette Base_NOM, Base_PRENOM
Base_AGE et Base_VILLE
j'aimerai faire un etat de cette forme par exemple :
Nom : AAAAA Tttttt Age : 15 ans
Résidence principale : PARIS
je dois créer une feuille pour chaque ligne de la colonne NOM
j'ai créer une feuille "caneva" qui est comme çà
Nom : <Etat_NOM> <Etat_PRENOM> Age : <Etat_Age> ans
Résidence principale : <Etat_VILLE>
en sachant que <Etat_NOM>,<Etat_PRENOM>,<Etat_Age> et <Etat_VILLE> sont des
cellules nommées et positionnées à l'avance dans la feuille "caneva"
ouf !!! ma recherche, et donc ma question est la suivante.
Au lieu de faire :
Pour chaque lignes de la base
dupliquer la feuille "canevas", et lui donner le nom :
Intersect(Range("Base_NOM"), Rows(lignes))
dupliquer la feuille "canevas", et lui donner le nom :
Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille
Champ_nommé_courant > Intersect(Range("colonne courante de la base "), Rows(lignes))
Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
*Bonjour Alfred Wallace*, Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase() Set base = Sheets("Base") For x = 2 To base.Range("A65536").End(xlUp).Row Sheets("Caneva").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _ " " & Sheets("Base").Cells(x, 2) Set nouvelle = Sheets(Sheets.Count) nouvelle.Range("Etat_NOM") = base.Cells(x, 1) nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2) nouvelle.Range("Etat_AGE") = base.Cells(x, 3) nouvelle.Range("Etat_VILLE") = base.Cells(x, 4) Next End Sub
dupliquer la feuille "canevas", et lui donner le nom : Intersect(Range("Base_NOM"), Rows(lignes))
Pour chaque champs nommé de la nouvelle feuille Champ_nommé_courant > Intersect(Range("colonne courante de la base "), Rows(lignes)) Fin Pour chaque champs nommé
Fin Pour chaque lignes
Pardon si j'ai été trop "touffu" dans la démarche.
MErci encore José
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Alfred Wallace
*Bonjour Alfred Wallace*, Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase() Set base = Sheets("Base") For x = 2 To base.Range("A65536").End(xlUp).Row Sheets("Caneva").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _ " " & Sheets("Base").Cells(x, 2) Set nouvelle = Sheets(Sheets.Count) nouvelle.Range("Etat_NOM") = base.Cells(x, 1) nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2) nouvelle.Range("Etat_AGE") = base.Cells(x, 3) nouvelle.Range("Etat_VILLE") = base.Cells(x, 4) Next End Sub
hum, en tout cas,,il y a beaucoup de choses que je peux réutiliser
effectivement.
Je ne "comprend" pas du premier coup d'oeil ton code, je vais le tester aujourd'hui (j'ai pas excel chez moi).
mais disons que,
1 - ma base a toutes ces colonnes nommées avec son étiquette (le titre de a colonne quoi).
2 - la feuille "canevas" qui est donc dupliquée, dispose d'une liste de zones nommées, à certains endroits précis, pour pouvoir faire un état.
je souhaitais parcourir dans une boucle, pour chaque noms de base, copier le contenu de la ligne traitée, dans la zone destinataire de la feuille caneva.
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec une colonne suplémentaire, il suffira de créer une nouvelle zone correspondante dans le caneva, pour que l'état dispose de cette nouvelle zone. sans toucher le code vba.
Merci de ton aide. je vais tester tout çà.
José
*Bonjour Alfred Wallace*,
Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase()
Set base = Sheets("Base")
For x = 2 To base.Range("A65536").End(xlUp).Row
Sheets("Caneva").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _
" " & Sheets("Base").Cells(x, 2)
Set nouvelle = Sheets(Sheets.Count)
nouvelle.Range("Etat_NOM") = base.Cells(x, 1)
nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2)
nouvelle.Range("Etat_AGE") = base.Cells(x, 3)
nouvelle.Range("Etat_VILLE") = base.Cells(x, 4)
Next
End Sub
Classeur exemple :
http://cjoint.com/?ciuGrAo5zf
hum, en tout cas,,il y a beaucoup de choses que je peux réutiliser
effectivement.
Je ne "comprend" pas du premier coup d'oeil ton code, je vais le tester
aujourd'hui (j'ai pas excel chez moi).
mais disons que,
1 - ma base a toutes ces colonnes nommées avec son étiquette (le titre
de a colonne quoi).
2 - la feuille "canevas" qui est donc dupliquée, dispose d'une liste
de zones nommées, à certains endroits précis, pour pouvoir faire un état.
je souhaitais parcourir dans une boucle, pour chaque noms de base,
copier le contenu de la ligne traitée, dans la zone destinataire de la
feuille caneva.
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec
une colonne suplémentaire, il suffira de créer une nouvelle zone
correspondante dans le caneva, pour que l'état dispose de cette nouvelle
zone. sans toucher le code vba.
*Bonjour Alfred Wallace*, Est ce que quelque chose comme ca t'irai ?
Sub CreerFeuilleBase() Set base = Sheets("Base") For x = 2 To base.Range("A65536").End(xlUp).Row Sheets("Caneva").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets("Base").Cells(x, 1) & _ " " & Sheets("Base").Cells(x, 2) Set nouvelle = Sheets(Sheets.Count) nouvelle.Range("Etat_NOM") = base.Cells(x, 1) nouvelle.Range("Etat_PRENOM") = base.Cells(x, 2) nouvelle.Range("Etat_AGE") = base.Cells(x, 3) nouvelle.Range("Etat_VILLE") = base.Cells(x, 4) Next End Sub
hum, en tout cas,,il y a beaucoup de choses que je peux réutiliser
effectivement.
Je ne "comprend" pas du premier coup d'oeil ton code, je vais le tester aujourd'hui (j'ai pas excel chez moi).
mais disons que,
1 - ma base a toutes ces colonnes nommées avec son étiquette (le titre de a colonne quoi).
2 - la feuille "canevas" qui est donc dupliquée, dispose d'une liste de zones nommées, à certains endroits précis, pour pouvoir faire un état.
je souhaitais parcourir dans une boucle, pour chaque noms de base, copier le contenu de la ligne traitée, dans la zone destinataire de la feuille caneva.
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec une colonne suplémentaire, il suffira de créer une nouvelle zone correspondante dans le caneva, pour que l'état dispose de cette nouvelle zone. sans toucher le code vba.
Merci de ton aide. je vais tester tout çà.
José
JLuc
Alfred Wallace avait soumis l'idée :
je souhaitais parcourir dans une boucle, pour chaque noms de base, copier le contenu de la ligne traitée, dans la zone destinataire de la feuille caneva. C'est ce que j'ai fais. Mais j'ai placer les donnees dans une nouvelle
feuille renommee avec "nom" & "prenom" de la base. Regarde le fichier joint. Avant de relancer la macro, pense a supprimer les feuilles, (j'ai pas fais de gestion d'erreur) sinon ca va planter. Conserve seulement "Base" et "Caneva"
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec une colonne suplémentaire, il suffira de créer une nouvelle zone correspondante dans le caneva, pour que l'état dispose de cette nouvelle zone. sans toucher le code vba. Desole, il faudra faire appelle aux grands maitres, ca je sais pas
encore faire :oÞ
Merci de ton aide. je vais tester tout çà. Je t'en prie, ce fut un plaisir :')
José
-- JLuc
Alfred Wallace avait soumis l'idée :
je souhaitais parcourir dans une boucle, pour chaque noms de base, copier le
contenu de la ligne traitée, dans la zone destinataire de la feuille caneva.
C'est ce que j'ai fais. Mais j'ai placer les donnees dans une nouvelle
feuille renommee avec "nom" & "prenom" de la base. Regarde le fichier
joint. Avant de relancer la macro, pense a supprimer les feuilles,
(j'ai pas fais de gestion d'erreur) sinon ca va planter. Conserve
seulement "Base" et "Caneva"
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec une
colonne suplémentaire, il suffira de créer une nouvelle zone correspondante
dans le caneva, pour que l'état dispose de cette nouvelle zone. sans toucher
le code vba.
Desole, il faudra faire appelle aux grands maitres, ca je sais pas
encore faire :oÞ
Merci de ton aide. je vais tester tout çà.
Je t'en prie, ce fut un plaisir :')
je souhaitais parcourir dans une boucle, pour chaque noms de base, copier le contenu de la ligne traitée, dans la zone destinataire de la feuille caneva. C'est ce que j'ai fais. Mais j'ai placer les donnees dans une nouvelle
feuille renommee avec "nom" & "prenom" de la base. Regarde le fichier joint. Avant de relancer la macro, pense a supprimer les feuilles, (j'ai pas fais de gestion d'erreur) sinon ca va planter. Conserve seulement "Base" et "Caneva"
Je sais, c'est tordu,mais, l'avantage est que, si ma base évolue, avec une colonne suplémentaire, il suffira de créer une nouvelle zone correspondante dans le caneva, pour que l'état dispose de cette nouvelle zone. sans toucher le code vba. Desole, il faudra faire appelle aux grands maitres, ca je sais pas
encore faire :oÞ
Merci de ton aide. je vais tester tout çà. Je t'en prie, ce fut un plaisir :')