Copie de ligne de différents onglet sur une feuille "synthése"
Résolu
SandraVBA
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
PlacageGranby Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
PlacageGranby Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite créer une macro avec différents éléments. Je vous explique:
J'ai une feuille nommé "Actions" qui centralise des premiéres infos . Au fur et à mesure de l'avancement de mon projet, cette feuille est copier avec des données différentes (cette macro est déjà créee), les copies de "Actions" se nomme tel quel "Actions+1";Actions+2....
J'ai créer une feuille synthése qui doit reprendre dans mes feuilles Actions +X, les données d'un sous tableau qui se nomme risque. La macro doit copier toutes les lignes qui detail mon risque (les détails du tableau 3 colonnes, et quelques lignes compléter au fur et à mesure)
Je sais pas si j'ai été bien explicite mais si vous pouviez m'aider ça serait super !!!
Je souhaite créer une macro avec différents éléments. Je vous explique:
J'ai une feuille nommé "Actions" qui centralise des premiéres infos . Au fur et à mesure de l'avancement de mon projet, cette feuille est copier avec des données différentes (cette macro est déjà créee), les copies de "Actions" se nomme tel quel "Actions+1";Actions+2....
J'ai créer une feuille synthése qui doit reprendre dans mes feuilles Actions +X, les données d'un sous tableau qui se nomme risque. La macro doit copier toutes les lignes qui detail mon risque (les détails du tableau 3 colonnes, et quelques lignes compléter au fur et à mesure)
Je sais pas si j'ai été bien explicite mais si vous pouviez m'aider ça serait super !!!
A voir également:
- Copie de ligne de différents onglet sur une feuille "synthése"
- Partage de photos en ligne - Guide
- Copie cachée - Guide
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Copie écran samsung - Guide
15 réponses
alors tu défini proprement toutes tes feuille genre :
et tu met dans le fichier de destination les adresses des cellules que tu veux :
tu peux utiliser range à la place de cells, donner des nom à tes range après c'est comme tu veux
Ca répond à ta question ?
dim Wks_blalbla as worksheet dim Wks_blibli as worksheet set Wks_blabla = application.workbooks(blabla).worksheets(1) set Wks_blibli = application.workbooks(blibli).worksheets(1)
et tu met dans le fichier de destination les adresses des cellules que tu veux :
Wks_blibli.Cells(1,1).value = "=" & Wks_blabla.cells(2,8).address(true,true,xla1,true)
tu peux utiliser range à la place de cells, donner des nom à tes range après c'est comme tu veux
Ca répond à ta question ?
je peux pas l'insérer dommage ;(
J'ai modifié mais ça ne fonctionne pas.
Je réexplique:
Je veux qu'il copis (avec lien) la ligne B27 de la feuille actions, mais ma ligne B27 n'est pas figé dans le cas où d'autre ligne peuvent être insérer au dessus.
Aprés la macro doit transferer les infos de la ligne dans mon onglet risk (c'est infos c'est du texte)
Cepedant j'ai plusieurs feuille actions (action+1; action+2....)
Je sais pas si j'exprimes bien mon besoin....
J'ai modifié mais ça ne fonctionne pas.
Je réexplique:
Je veux qu'il copis (avec lien) la ligne B27 de la feuille actions, mais ma ligne B27 n'est pas figé dans le cas où d'autre ligne peuvent être insérer au dessus.
Aprés la macro doit transferer les infos de la ligne dans mon onglet risk (c'est infos c'est du texte)
Cepedant j'ai plusieurs feuille actions (action+1; action+2....)
Je sais pas si j'exprimes bien mon besoin....
Instruction pour insérer un fichier ici :
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers#q=cjoint&cur=1&url=%2F
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers#q=cjoint&cur=1&url=%2F
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Une fois ton fichier joint sur Cjoint.
Il est sur Cjoint.
Tu dois mettre le liens ici dans le forum pour qu'on puisse y avoir accès
Il est sur Cjoint.
Tu dois mettre le liens ici dans le forum pour qu'on puisse y avoir accès
Ca fonctionne, je vois ton fichier, je vois les feuilles action, la feuille Risk
C'est quoi le tableau 3,
C'est quoi le tableau 3,
le tableau 3 c'est juste une description de l'action projet. J'ai pas besoin d'insérer des formules ou autre.
Super merci ;)
Super merci ;)
Je résume, en gros beaucoup de compteur et de loop.
Premierement, trouver on est rendu à quelle ligne dans les feuilles dependancies, output et autre. on loop et on assigne un compteur.
Ensuite, on loop sur les feuille et on trouve celle qui commence par "Action"
Pour les feuilles action, on loop pour trouver l'entête des tableau. on prend un compteur.
Une fois un tableau trouvé, on copie tant que la colonne B n,est pas vide, après on cherche le tableau suivant.
J'ai fait le code pour Dependancies et output. il reste a ajouter les autres tableau. Tu peux t'inspirer du code que j'ai fait. modifier au besoin. et aussi, il te faudra creer un bouton et assigner la macro.
Premierement, trouver on est rendu à quelle ligne dans les feuilles dependancies, output et autre. on loop et on assigne un compteur.
Ensuite, on loop sur les feuille et on trouve celle qui commence par "Action"
Pour les feuilles action, on loop pour trouver l'entête des tableau. on prend un compteur.
Une fois un tableau trouvé, on copie tant que la colonne B n,est pas vide, après on cherche le tableau suivant.
J'ai fait le code pour Dependancies et output. il reste a ajouter les autres tableau. Tu peux t'inspirer du code que j'ai fait. modifier au besoin. et aussi, il te faudra creer un bouton et assigner la macro.
Sub voila() Dim LoopSheet As Integer Dim LoopAction As Integer Dim LoopDependancies As Integer Dim LoopOutputs As Integer Dim Arret As Boolean Dim test As String LoopDependancies = 3 LoopOutputs = 3 While Sheets("Dependencies").Range("A" & LoopDependancies).Value <> "" LoopDependancies = LoopDependancies + 1 Wend While Sheets("Outputs").Range("A" & LoopOutputs).Value <> "" LoopOutputs = LoopOutputs + 1 Wend For LoopSheet = 1 To Worksheets.Count If Left(Worksheets(LoopSheet).Name, 6) = "Action" Then Arret = False LoopAction = 1 While Arret <> True If Sheets(LoopSheet).Range("B" & LoopAction).Value = "17. DEPENDENCIES AND INPUTS" Then LoopAction = LoopAction + 2 While Sheets(LoopSheet).Range("B" & LoopAction).Value <> "" Sheets("Dependencies").Range("A" & LoopDependancies).Value = Sheets(LoopSheet).Range("B" & LoopAction).Value Sheets("Dependencies").Range("B" & LoopDependancies).Value = Sheets(LoopSheet).Range("C" & LoopAction).Value Sheets("Dependencies").Range("C" & LoopDependancies).Value = Sheets(LoopSheet).Range("E" & LoopAction).Value Sheets("Dependencies").Range("D" & LoopDependancies).Value = Sheets(LoopSheet).Range("F" & LoopAction).Value LoopDependancies = LoopDependancies + 1 LoopAction = LoopAction + 1 Wend End If If Sheets(LoopSheet).Range("B" & LoopAction).Value = "18. OUTPUTS AND DELIVERABLES" Then LoopAction = LoopAction + 2 While Sheets(LoopSheet).Range("B" & LoopAction).Value <> "" Sheets("Outputs").Range("A" & LoopOutputs).Value = Sheets(LoopSheet).Range("B" & LoopAction).Value Sheets("Outputs").Range("B" & LoopOutputs).Value = Sheets(LoopSheet).Range("C" & LoopAction).Value Sheets("Outputs").Range("C" & LoopOutputs).Value = Sheets(LoopSheet).Range("E" & LoopAction).Value Sheets("Outputs").Range("D" & LoopOutputs).Value = Sheets(LoopSheet).Range("F" & LoopAction).Value LoopOutputs = LoopOutputs + 1 LoopAction = LoopAction + 1 Wend Arret = True End If LoopAction = LoopAction + 1 Wend End If Next End Sub
C'est gros, mais c'est pratique quand on sait pas combien de ligne il faut copier, ou il seront exactement, et que l'endroit ou on veut les copier est variable.
On compte, assigne un compteur, et loop pour trouver avec des for et des while.
On compte, assigne un compteur, et loop pour trouver avec des for et des while.
oh, j'ai mis une variable arret.
En gros, dans le dernier tableau que tu veux copier. tu met la arret = true pour qu'il arrête de cherche la feuille action.
Je l'ai mis a la fin de outputs car c'est le dernier tableau que j'ai fait dans mon code, mais toi il faudrait placer arret = true a payement claim (innexistante je crois, ca s'arrete a assumption, payment n'est pas la)
En gros, dans le dernier tableau que tu veux copier. tu met la arret = true pour qu'il arrête de cherche la feuille action.
Je l'ai mis a la fin de outputs car c'est le dernier tableau que j'ai fait dans mon code, mais toi il faudrait placer arret = true a payement claim (innexistante je crois, ca s'arrete a assumption, payment n'est pas la)
Tu voulais aussi coller la référence au lieu de la valeur.
Ma macro colle la valeur.
Sauf que le but d'avoir la réfèrence était si y avait des changement.
En gros, tu met un bouton pour effacer le contenu des tableau dependancies, outputs et compagnie, et tu relance la macro, et tu as toutes les informations mis à jour.
Ma macro colle la valeur.
Sauf que le but d'avoir la réfèrence était si y avait des changement.
En gros, tu met un bouton pour effacer le contenu des tableau dependancies, outputs et compagnie, et tu relance la macro, et tu as toutes les informations mis à jour.