Création automatique de feuille sur excel
Résolu/Fermé
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
-
2 déc. 2014 à 19:07
AC211984 Messages postés 30 Date d'inscription mardi 2 décembre 2014 Statut Membre Dernière intervention 20 avril 2016 - 16 déc. 2014 à 19:08
AC211984 Messages postés 30 Date d'inscription mardi 2 décembre 2014 Statut Membre Dernière intervention 20 avril 2016 - 16 déc. 2014 à 19:08
A voir également:
- Créer des feuilles automatiquement excel
- Créer liste déroulante excel - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
6 réponses
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
2 déc. 2014 à 19:13
2 déc. 2014 à 19:13
Bonjour,
Si je comprend bien..
Tu souhaites :
Pour chaque LIGNE de ta feuil1 (correspondant donc à UN arbre)
Créer UNE nouvelle Feuille....
Cette feuille contiendrait le contenu des différentes colonnes de la ligne en question.
Il te faut donc faire ça en VBA ...
Dans l'idéal :
Tu créés une feuille MODEL
tu y places tes différents textes.. les formats de tes cellules..; les styles (couleur..).
Ensuite, via une Macro :
Tu parcours ton tableau (celui de ta feuille 1 ).
Pour chaque ligne :
- On duplique la feuille Modele .. que tu renomme (en te basant sur le contenu d'une colonne de ta ligne )
- On prend le contenu des différentes colonnes et on les places dans les bonnes case de cette nouvelle feuille...
...
Donc avant de pouvoir t'aider plus... il faut :
1 - Tu créés ta feuille Modele
2 - Tu déposes ton fichier sur un site comme : cijoint.com
3 - Tu nous colles le lien vers ce fichier ici
4 - Tu indiques précisément.. quelle colonne correspond à quel emplacement dans ta feuille à remplir..
Si je comprend bien..
Tu souhaites :
Pour chaque LIGNE de ta feuil1 (correspondant donc à UN arbre)
Créer UNE nouvelle Feuille....
Cette feuille contiendrait le contenu des différentes colonnes de la ligne en question.
Il te faut donc faire ça en VBA ...
Dans l'idéal :
Tu créés une feuille MODEL
tu y places tes différents textes.. les formats de tes cellules..; les styles (couleur..).
Ensuite, via une Macro :
Tu parcours ton tableau (celui de ta feuille 1 ).
Pour chaque ligne :
- On duplique la feuille Modele .. que tu renomme (en te basant sur le contenu d'une colonne de ta ligne )
- On prend le contenu des différentes colonnes et on les places dans les bonnes case de cette nouvelle feuille...
...
Donc avant de pouvoir t'aider plus... il faut :
1 - Tu créés ta feuille Modele
2 - Tu déposes ton fichier sur un site comme : cijoint.com
3 - Tu nous colles le lien vers ce fichier ici
4 - Tu indiques précisément.. quelle colonne correspond à quel emplacement dans ta feuille à remplir..
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
2 déc. 2014 à 20:54
2 déc. 2014 à 20:54
Bonsoir,
Merci pour votre réponse, j'ai donc placé le nom de chaque colonne comme vous me l'avez indiqué sur ma feuille de base. Certaines ont des blancs car certaines choses se traitent vraiment au cas par cas.
Voici le lien où trouvé le fichier :
https://www.cjoint.com/?0Lcu4PIzeqv
Si je comprends bien, il faut absolument passer par une macro, mais je ne comprends pas trop comment créer chaque feuille, avec à chaque fois les infos d'une ligne différente avec la même macro, j'avoue cependant, ne pas bien maitriser cet outil !
En tout cas, merci de l'aide ! C'est très gentil à vous.
Bonne soirée.
Merci pour votre réponse, j'ai donc placé le nom de chaque colonne comme vous me l'avez indiqué sur ma feuille de base. Certaines ont des blancs car certaines choses se traitent vraiment au cas par cas.
Voici le lien où trouvé le fichier :
https://www.cjoint.com/?0Lcu4PIzeqv
Si je comprends bien, il faut absolument passer par une macro, mais je ne comprends pas trop comment créer chaque feuille, avec à chaque fois les infos d'une ligne différente avec la même macro, j'avoue cependant, ne pas bien maitriser cet outil !
En tout cas, merci de l'aide ! C'est très gentil à vous.
Bonne soirée.
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
2 déc. 2014 à 22:17
2 déc. 2014 à 22:17
Je viens d'essayer le code...génial !
Par contre certaine colonnes n'ont pas prises si je puis dire. Je peux les ajouter dans le code directement ?
Je ne comprends pas trop comment vous avez fait, je vais creuser et décortiquer ;)
Est-il possible d'appliquer ce code en "option". Par exemple, je clique dans la colonne C sur le nom de l'arbre dans la ligne concernée et là seulement la feuille se créée avec toutes les données ?
En tout cas merci beaucoup, c'est un travail super, je vais pouvoir bien avancer.
Bonne soirée.
Par contre certaine colonnes n'ont pas prises si je puis dire. Je peux les ajouter dans le code directement ?
Je ne comprends pas trop comment vous avez fait, je vais creuser et décortiquer ;)
Est-il possible d'appliquer ce code en "option". Par exemple, je clique dans la colonne C sur le nom de l'arbre dans la ligne concernée et là seulement la feuille se créée avec toutes les données ?
En tout cas merci beaucoup, c'est un travail super, je vais pouvoir bien avancer.
Bonne soirée.
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
2 déc. 2014 à 22:24
2 déc. 2014 à 22:24
Je te code ça demain.
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
2 déc. 2014 à 22:28
2 déc. 2014 à 22:28
Ok merci, ce serait long et compliqué de m'expliquer comment faire ? J'aimerai le comprendre et en faire d'autres si besoin.
Bonne soirée.
Bonne soirée.
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
2 déc. 2014 à 22:33
2 déc. 2014 à 22:33
Ben il faut des connaissances en vba (pour la partie. .je clique sur une ligne..)
Donc oui..ca risque d'être long ;-)
Mais j'essaierai de commenter suffisamment le code.
Donc oui..ca risque d'être long ;-)
Mais j'essaierai de commenter suffisamment le code.
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
3 déc. 2014 à 10:59
3 déc. 2014 à 10:59
Voila les modifs (si il y a des choses que tu ne comprends pas dis le moi)
Code à placer dans un MODULE
Code à mettre Dans l'objet Feuil1:
Code à placer dans un MODULE
Sub AutoCreaAllSheets() 'Macro de création auto de TOUTES les feuilles '---------------------------------------------- Dim Fdata As Worksheet Dim NomF As String Dim ListFeuille As Range Dim ligne As Integer Set Fdata = Sheets("Liste arbres") Set ListFeuille = Fdata.Range("B5:B500") 'on boucle sur les différentes lignes : For Each cell In ListFeuille 'On récupère le nom de la "future" feuille NomF = cell.Value 'si nomF <> "" If NomF <> "" Then 'On recupere le numero de ligne ligne = cell.Row Call AutoCreaSheets(Fdata, NomF, ligne) End If Next 'Ligne suivante End Sub Sub AutoCreaSheets(Fdata As Worksheet, NomF As String, ligne As Integer) '--------------------------------------------- 'Macro de création auto d'une Feuille '---------------------------------------------- 'On duplique la feuille Modele Call duplicateModele(NomF) '-------------------------------------- 'On rempli les cases ... '-------------------------------------- 'recupération des valeurs de la feuille source Station = Fdata.Cells(ligne, 1).Value ' Colonne A Numerotation = Fdata.Cells(ligne, 2).Value ' Colonne B date_plantation = Fdata.Cells(ligne, 4).Value ' Colonne D type_plantation = Fdata.Cells(ligne, 5).Value ' Colonne E stade_dev = Fdata.Cells(ligne, 6).Value ' Colonne F Conduite = Fdata.Cells(ligne, 7).Value ' Colonne G Circonférence = Fdata.Cells(ligne, 8).Value 'Colonne H Hauteur = Fdata.Cells(ligne, 9).Value 'Colonne I Collet_note = Fdata.Cells(ligne, 10).Value ' Colonne J Collet_cmt = Fdata.Cells(ligne, 11).Value ' Colonne K tronc_note = Fdata.Cells(ligne, 12).Value ' Colonne L tronc_cmt = Fdata.Cells(ligne, 13).Value ' Colonne M Houppier_note = Fdata.Cells(ligne, 14).Value ' Colonne N Houppier_cmt = Fdata.Cells(ligne, 15).Value ' Colonne O Etat_general = Fdata.Cells(ligne, 19).Value 'Colonne S Etat_general = Fdata.Cells(ligne, 20).Value 'Colonne T Dangerosite = Fdata.Cells(ligne, 21).Value ' Colonne U Maladies = Fdata.Cells(ligne, 16).Value 'Colonne P Parasites = Fdata.Cells(ligne, 17).Value 'Colonne Q Blessures = Fdata.Cells(ligne, 18).Value 'Colonne R Analyses_compl = Fdata.Cells(ligne, 22).Value 'Colonne V Preconisations = Fdata.Cells(ligne, 23).Value 'Colonne W Valeur_ecologique = Fdata.Cells(ligne, 24).Value 'Colonne X Valeur_economique = Fdata.Cells(ligne, 25).Value 'Colonne Y ' On copie les valeurs dans la nouvelle Feuille... Sheets(NomF).Range("B4").Value = Station Sheets(NomF).Range("B5").Value = Numerotation Sheets(NomF).Range("B10").Value = date_plantation Sheets(NomF).Range("B11").Value = type_plantation Sheets(NomF).Range("B12").Value = stade_dev Sheets(NomF).Range("B13").Value = Conduite Sheets(NomF).Range("B14").Value = Circonférence Sheets(NomF).Range("B15").Value = Hauteur Sheets(NomF).Range("B19").Value = Collet_note Sheets(NomF).Range("C19").Value = Collet_cmt Sheets(NomF).Range("B20").Value = tronc_note Sheets(NomF).Range("C20").Value = tronc_cmt Sheets(NomF).Range("B21").Value = Houppier_note Sheets(NomF).Range("C21").Value = Houppier_cmt Sheets(NomF).Range("B22").Value = Etat_general Sheets(NomF).Range("C22").Value = Etat_general Sheets(NomF).Range("B24").Value = Dangerosite Sheets(NomF).Range("B25").Value = Maladies Sheets(NomF).Range("B26").Value = Parasites Sheets(NomF).Range("B27").Value = Blessures Sheets(NomF).Range("B29").Value = Analyses_compl Sheets(NomF).Range("B30").Value = Preconisations Sheets(NomF).Range("B32").Value = Valeur_ecologique Sheets(NomF).Range("B33").Value = Valeur_economique End Sub Function FExist(NomF As String) As Boolean ' test si la feuille existe Application.ScreenUpdating = False On Error Resume Next FExist = Not Sheets(NomF) Is Nothing Application.ScreenUpdating = True End Function Sub duplicateModele(strFeuilName As String) ' avant de poursuivre on regarde si la feuille existe déjà If FExist(strFeuilName) Then recreer = MsgBox("La feuille " & strFeuilName & " existe déjà... !" & vbCrLf & " voulez-vous la recréer ?", vbYesNo) ' si on dit de la recréer.. on la supprime d'abord.. If recreer = 6 Then Application.DisplayAlerts = True Sheets(strFeuilName).Delete Application.DisplayAlerts = False Else Exit Sub End If End If 'On duplique la feuille modèle Sheets("MODEL").Select Sheets("MODEL").Copy After:=Sheets(ThisWorkbook.Sheets.Count) 'On renomme la feuille ActiveSheet.Name = strFeuilName End Sub
Code à mettre Dans l'objet Feuil1:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Fdata As Worksheet Dim NomF As String Dim ligne As Integer Set Fdata = Sheets("Liste arbres") 'declenchement de la macro lors du clic dans les cellules de la colonne 2 If Target.Column = 2 Then 'On recupere le numero de ligne ligne = Target.Row NomF = Cells(ligne, 2).Value 'si nomF <> "" If NomF <> "" Then Call AutoCreaSheets(Fdata, NomF, ligne) End If End If End Sub
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 13:11
3 déc. 2014 à 13:11
Bonjour,
Je ne comprends pas où je dois placer les codes, le MODULE ? Et l'OBJET DE LA FEUILLE ?
Je ne vois pas trop...
Merci.
Je ne comprends pas où je dois placer les codes, le MODULE ? Et l'OBJET DE LA FEUILLE ?
Je ne vois pas trop...
Merci.
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 13:25
3 déc. 2014 à 13:25
J'ai trouvé pour la copie dans le module.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
3 déc. 2014 à 14:14
3 déc. 2014 à 14:14
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 18:06
3 déc. 2014 à 18:06
J'ai bien copié les codes là où il fallait, mais il y a toujours des cellules qui ne se remplissent pas. Je ne comprends pas pourquoi. Et à quoi sert le deuxième code ? Celui que je colle dans l'objet de la feuille ?
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
3 déc. 2014 à 18:50
3 déc. 2014 à 18:50
Ce que je t'ai codé . c'est UNIQUEMENT que Lorsque tu cliques dans une cellule de la colonne 2 ( donc la colonne B ) de ta feuille liste d'Arbres .. ça déclenche la création de cette Feuille (et uniquement de celle là .)
Par contre.. les cellules qui ne se remplissent pas.. et ben.. si tu ne me donnes pas des exemples ça risque d'être compliqué de trouver....
Sachant que pour que tu comprennes le code ...
Cette partie du code va LIRE le contenu des cellules (de ta feuille Source).
et stocke.. pour chaque "colonne" l'information dans une variable...
par exemple :
Je stocke dans "Station" le contenu de la cellule correspondant à la Ligne / Colonne 1 (soit ..la colonne A)
Le deuxième pavé de cette fonction :
Et bien... je fais le chemin inverse en quelques sortes...
Je colle le contenu des différentes variables ... dans la nouvelle Feuille ( Sheets(NomF) .. NomF étant une variable contenant le nom (ou le numéro devrais-je dire) de la feuille qui vient d'être créée.
Donc ici :
Je prend le contenu de ma variable Station (voir l'explication précédente...) et je la place dans ma nouvelle Feuille.. dans la cellule B4 ( Range("B4").Value )
Nb : J'aurais pu le faire en Une seule ligne de code... mais j'ai découpé pour que tu comprennes mieux...
En une seule ligne (pour chaque variable..) on aurait pu écrire :
Par contre.. les cellules qui ne se remplissent pas.. et ben.. si tu ne me donnes pas des exemples ça risque d'être compliqué de trouver....
Sachant que pour que tu comprennes le code ...
'-------------------------------------- 'On rempli les cases ... '-------------------------------------- 'recupération des valeurs de la feuille source Station = Fdata.Cells(ligne, 1).Value ' Colonne A Numerotation = Fdata.Cells(ligne, 2).Value ' Colonne B date_plantation = Fdata.Cells(ligne, 4).Value ' Colonne D type_plantation = Fdata.Cells(ligne, 5).Value ' Colonne E stade_dev = Fdata.Cells(ligne, 6).Value ' Colonne F Conduite = Fdata.Cells(ligne, 7).Value ' Colonne G Circonférence = Fdata.Cells(ligne, 8).Value 'Colonne H Hauteur = Fdata.Cells(ligne, 9).Value 'Colonne I Collet_note = Fdata.Cells(ligne, 10).Value ' Colonne J Collet_cmt = Fdata.Cells(ligne, 11).Value ' Colonne K tronc_note = Fdata.Cells(ligne, 12).Value ' Colonne L tronc_cmt = Fdata.Cells(ligne, 13).Value ' Colonne M Houppier_note = Fdata.Cells(ligne, 14).Value ' Colonne N Houppier_cmt = Fdata.Cells(ligne, 15).Value ' Colonne O Etat_general = Fdata.Cells(ligne, 19).Value 'Colonne S Etat_general = Fdata.Cells(ligne, 20).Value 'Colonne T Dangerosite = Fdata.Cells(ligne, 21).Value ' Colonne U Maladies = Fdata.Cells(ligne, 16).Value 'Colonne P Parasites = Fdata.Cells(ligne, 17).Value 'Colonne Q Blessures = Fdata.Cells(ligne, 18).Value 'Colonne R Analyses_compl = Fdata.Cells(ligne, 22).Value 'Colonne V Preconisations = Fdata.Cells(ligne, 23).Value 'Colonne W Valeur_ecologique = Fdata.Cells(ligne, 24).Value 'Colonne X Valeur_economique = Fdata.Cells(ligne, 25).Value 'Colonne Y
Cette partie du code va LIRE le contenu des cellules (de ta feuille Source).
et stocke.. pour chaque "colonne" l'information dans une variable...
par exemple :
Station = Fdata.Cells(ligne, 1).Value ' Colonne A
Je stocke dans "Station" le contenu de la cellule correspondant à la Ligne / Colonne 1 (soit ..la colonne A)
Le deuxième pavé de cette fonction :
' On copie les valeurs dans la nouvelle Feuille... Sheets(NomF).Range("B4").Value = Station Sheets(NomF).Range("B5").Value = Numerotation Sheets(NomF).Range("B10").Value = date_plantation Sheets(NomF).Range("B11").Value = type_plantation Sheets(NomF).Range("B12").Value = stade_dev Sheets(NomF).Range("B13").Value = Conduite Sheets(NomF).Range("B14").Value = Circonférence Sheets(NomF).Range("B15").Value = Hauteur Sheets(NomF).Range("B19").Value = Collet_note Sheets(NomF).Range("C19").Value = Collet_cmt Sheets(NomF).Range("B20").Value = tronc_note Sheets(NomF).Range("C20").Value = tronc_cmt Sheets(NomF).Range("B21").Value = Houppier_note Sheets(NomF).Range("C21").Value = Houppier_cmt Sheets(NomF).Range("B22").Value = Etat_general Sheets(NomF).Range("C22").Value = Etat_general Sheets(NomF).Range("B24").Value = Dangerosite Sheets(NomF).Range("B25").Value = Maladies Sheets(NomF).Range("B26").Value = Parasites Sheets(NomF).Range("B27").Value = Blessures Sheets(NomF).Range("B29").Value = Analyses_compl Sheets(NomF).Range("B30").Value = Preconisations Sheets(NomF).Range("B32").Value = Valeur_ecologique Sheets(NomF).Range("B33").Value = Valeur_economique
Et bien... je fais le chemin inverse en quelques sortes...
Je colle le contenu des différentes variables ... dans la nouvelle Feuille ( Sheets(NomF) .. NomF étant une variable contenant le nom (ou le numéro devrais-je dire) de la feuille qui vient d'être créée.
Donc ici :
Sheets(NomF).Range("B4").Value = Station
Je prend le contenu de ma variable Station (voir l'explication précédente...) et je la place dans ma nouvelle Feuille.. dans la cellule B4 ( Range("B4").Value )
Nb : J'aurais pu le faire en Une seule ligne de code... mais j'ai découpé pour que tu comprennes mieux...
En une seule ligne (pour chaque variable..) on aurait pu écrire :
' Pour Station : Sheets(NomF).Range("B4").Value = Fdata.Cells(ligne, 1).Value
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 19:18
3 déc. 2014 à 19:18
Merci pour toutes ses explications, je vais me pencher dessus pour comprendre le fonctionnement. Et je vous dirai si cela fonctionne alors. S'agissant des cellules qui ne se copie pas, ce sont les colonnes S, Z, U et C.
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
>
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 19:19
3 déc. 2014 à 19:19
ce sont les colonnes S, Z, U et C.
Ah ben j'ai du les zapper...désolé
Mais maintenant.. tu as toutes les infos pour les ajouter toi même ;-)
AC211984
Messages postés
30
Date d'inscription
mardi 2 décembre 2014
Statut
Membre
Dernière intervention
20 avril 2016
3 déc. 2014 à 19:28
3 déc. 2014 à 19:28
Oui, je vais essayer de le construire moi même, de bonnes heures à me creuser la cervelle en perspectives... ;)
Je pourrai vous recontacter si j'ai d'autres questions ? Sans vouloir vous déranger bien sur.
Merci beaucoup en tout cas, c'est très sympa de votre part. :)
Bonne soirée.
Je pourrai vous recontacter si j'ai d'autres questions ? Sans vouloir vous déranger bien sur.
Merci beaucoup en tout cas, c'est très sympa de votre part. :)
Bonne soirée.
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
2 déc. 2014 à 21:28
2 déc. 2014 à 21:28
En collant ce code dans ton classeur ça devrait fonctionner
NB : Pour le nom des feuilles je me suis basé sur la colonne Numéro...
Sub AutoCreaSheets() Dim nomF As String Dim Fdata As Worksheet Dim ListFeuille As Range Dim ligne As Integer Set Fdata = Sheets("Liste arbres") Set ListFeuille = Fdata.Range("B5:B500") 'on boucle sur les différentes lignes : For Each cell In ListFeuille 'On récupère le nom de la "future" feuille nomF = cell.Value 'si nomF <> "" If nomF <> "" Then 'On recupere le numero de ligne ligne = cell.Row 'On duplique la feuille Modele Call duplicateModele(nomF) '-------------------------------------- 'On rempli les cases ... '-------------------------------------- 'recupération des valeurs de la feuille source Station = Fdata.Cells(ligne, 1).Value Numerotation = Fdata.Cells(ligne, 2).Value date_plantation = Fdata.Cells(ligne, 4).Value type_plantation = Fdata.Cells(ligne, 5).Value stade_dev = Fdata.Cells(ligne, 6).Value Conduite = Fdata.Cells(ligne, 7).Value ' Colonne G Circonférence = Fdata.Cells(ligne, 8).Value 'Colonne H Hauteur = Fdata.Cells(ligne, 9).Value 'Colonne I Collet_note = Fdata.Cells(ligne, 10).Value Collet_cmt = Fdata.Cells(ligne, 11).Value tronc_note = Fdata.Cells(ligne, 12).Value tronc_cmt = Fdata.Cells(ligne, 13).Value Houppier_note = Fdata.Cells(ligne, 14).Value Houppier_cmt = Fdata.Cells(ligne, 15).Value Etat_general = Fdata.Cells(ligne, 19).Value 'Colonne S Etat_general = Fdata.Cells(ligne, 20).Value 'Colonne T Dangerosite = Fdata.Cells(ligne, 21).Value ' Colonne U Maladies = Fdata.Cells(ligne, 16).Value 'Colonne P Parasites = Fdata.Cells(ligne, 17).Value 'Colonne Q Blessures = Fdata.Cells(ligne, 18).Value 'Colonne R Analyses_compl = Fdata.Cells(ligne, 22).Value 'Colonne V Preconisations = Fdata.Cells(ligne, 23).Value 'Colonne W Valeur_ecologique = Fdata.Cells(ligne, 24).Value 'Colonne X Valeur_economique = Fdata.Cells(ligne, 25).Value 'Colonne Y ' On copie les valeurs dans la nouvelle Feuille... Sheets(nomF).Range("B4").Value = Station Sheets(nomF).Range("B5").Value = Numerotation Sheets(nomF).Range("B10").Value = date_plantation Sheets(nomF).Range("B11").Value = type_plantation Sheets(nomF).Range("B12").Value = stade_dev Sheets(nomF).Range("B13").Value = Conduite Sheets(nomF).Range("B14").Value = Circonférence Sheets(nomF).Range("B15").Value = Hauteur Sheets(nomF).Range("B19").Value = Collet_note Sheets(nomF).Range("C19").Value = Collet_cmt Sheets(nomF).Range("B20").Value = tronc_note Sheets(nomF).Range("C20").Value = tronc_cmt Sheets(nomF).Range("B21").Value = Houppier_note Sheets(nomF).Range("C21").Value = Houppier_cmt Sheets(nomF).Range("B22").Value = Etat_general Sheets(nomF).Range("C22").Value = Etat_general Sheets(nomF).Range("B24").Value = Dangerosite Sheets(nomF).Range("B25").Value = Maladies Sheets(nomF).Range("B26").Value = Parasites Sheets(nomF).Range("B27").Value = Blessures Sheets(nomF).Range("B29").Value = Analyses_compl Sheets(nomF).Range("B30").Value = Preconisations Sheets(nomF).Range("B32").Value = Valeur_ecologique Sheets(nomF).Range("B33").Value = Valeur_economique End If Next 'on passe à la ligne suivante End Sub Sub duplicateModele(strFeuilName As String) Sheets("MODEL").Select Sheets("MODEL").Copy After:=Sheets(ThisWorkbook.Sheets.Count) ActiveSheet.Name = strFeuilName End Sub
NB : Pour le nom des feuilles je me suis basé sur la colonne Numéro...