Copier des cellules dans une autre feuille d'un même client
Résolu/Fermé
VCN
-
16 févr. 2016 à 11:32
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 17 févr. 2016 à 14:03
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 17 févr. 2016 à 14:03
A voir également:
- Copier des cellules dans une autre feuille d'un même client
- Formule excel pour additionner plusieurs cellules - Guide
- Comment copier une vidéo youtube - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller des cellules excel - Guide
- Comment supprimer une feuille sur word - Guide
3 réponses
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
16 févr. 2016 à 12:06
16 févr. 2016 à 12:06
Bonjour,
Cela se fait assez facilement par macro, il faut néanmoins avoir un document précis de départ. Pouvez-vous en joindre un via www.cjoint.com ?
Cdt,
Cela se fait assez facilement par macro, il faut néanmoins avoir un document précis de départ. Pouvez-vous en joindre un via www.cjoint.com ?
Cdt,
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
16 févr. 2016 à 15:13
16 févr. 2016 à 15:13
Bon, ci-dessous une prmeière solution.
Elle s'active avant l'enregistrement, n'hésitez pas à demander si vous préférez un autre déclencheur.
Elle s'active avant l'enregistrement, n'hésitez pas à demander si vous préférez un autre déclencheur.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
m = 2
Do Until Sheets("Clients à extraire").Cells(m, 1).Value = ""
Sheets("Modèle").Copy After:=Sheets(Worksheets.Count)
On Error Resume Next
Sheets(Worksheets.Count).Name = Sheets("Clients à extraire").Cells(m, 1).Value
On Error Resume Next
Sheets("Modèle (2)").Delete
Dim Numcl As String
Numcl = Sheets("Clients à extraire").Cells(m, 1).Value
Dim DernLigne As Long
DernLigne = Sheets("Global").Range("A" & Rows.Count).End(xlUp).Row
k = 2
For i = 1 To DernLigne
If Sheets("Global").Cells(i, 1).Value = Numcl Then
Sheets(Numcl).Range("A" & k & ":K" & k).Value = Sheets("Global").Range("A" & i & ":K" & i).Value
k = k + 1
End If
Next i
Dim DernLigneCl As Long
DernLigneCl = Sheets(Numcl).Range("A" & Rows.Count).End(xlUp).Row
Sheets(Numcl).Rows("2:2").Copy
Sheets(Numcl).Rows("3:" & DernLigneCl).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Sheets(Numcl).Cells.EntireColumn.AutoFit
m = m + 1
Loop
Application.DisplayAlerts = True
Sheets("Modèle").Select
Application.ScreenUpdating = True
End Sub
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
16 févr. 2016 à 15:26
16 févr. 2016 à 15:26
Oups j'ai oublié de joindre le document que j'ai fait :
https://www.cjoint.com/c/FBqoyCzljPL
Pour ma solution, c'est du code VBA à utiliser. Plusieurs étapes si vous n'avez jamais fait :
1) Vous devez activer les macro -> https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
2) Accédez à l'interface VBA : Alt + F11
3) En haut à gauche, dans la mini-fenêtre "Projet - VBAProject", vous avez les feuilles pour chaque document excel ouvert, choisissez dans le dossier de votre document "ThisWorkbook" -> Double-clic
4) Collez le code que je vous ai transmis tel quel dans la fenêtre ouverte
5) Alt + Q pour fermer le mode VBA
Voilà :)
https://www.cjoint.com/c/FBqoyCzljPL
Pour ma solution, c'est du code VBA à utiliser. Plusieurs étapes si vous n'avez jamais fait :
1) Vous devez activer les macro -> https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
2) Accédez à l'interface VBA : Alt + F11
3) En haut à gauche, dans la mini-fenêtre "Projet - VBAProject", vous avez les feuilles pour chaque document excel ouvert, choisissez dans le dossier de votre document "ThisWorkbook" -> Double-clic
4) Collez le code que je vous ai transmis tel quel dans la fenêtre ouverte
5) Alt + Q pour fermer le mode VBA
Voilà :)
Merci beaucoup je vais essayer à tête reposée demain
Je vous tiendrais au courant bien sur merci
Bonne fin de journée
Je vous tiendrais au courant bien sur merci
Bonne fin de journée
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
16 févr. 2016 à 15:34
16 févr. 2016 à 15:34
Pas de souci, si jamais vous voulez utiliser ma macro dans un autre document, veillez bien à garder les mêmes dispositions :
1) enregistrez le document .xlsm et non juste .xls
2) veillez à avoir un onglet nommé exactement "Global" avec votre BDD ; un autre onglet nommé exactement "Modèle" qui en reprend le template ; et enfin un dernier onglet qui se nomme exactement "Clients à extraire" avec en colonne A les matricules des clients à extraire.
Les noms des onglets exacts sont importants car sinon le code ne marche plus !
Bien à vous,
1) enregistrez le document .xlsm et non juste .xls
2) veillez à avoir un onglet nommé exactement "Global" avec votre BDD ; un autre onglet nommé exactement "Modèle" qui en reprend le template ; et enfin un dernier onglet qui se nomme exactement "Clients à extraire" avec en colonne A les matricules des clients à extraire.
Les noms des onglets exacts sont importants car sinon le code ne marche plus !
Bien à vous,
VCN
>
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
17 févr. 2016 à 13:57
17 févr. 2016 à 13:57
Bonjour
C'est parfait merci beaucoup
Tout fonctionne à merveille
Excellente journée
V
C'est parfait merci beaucoup
Tout fonctionne à merveille
Excellente journée
V
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
17 févr. 2016 à 14:03
17 févr. 2016 à 14:03
Pas de souci, merci de passer le sujet en Résolu si tout est bon pour vous ;)
16 févr. 2016 à 12:15
Voici le lien http://www.cjoint.com/c/FBqljHtgX4D
Dans l'attente de vous lire
Cdt
16 févr. 2016 à 12:22
Car si on crée une feuille par client, cela vous fera plus de 285 feuilles.. difficile à tenir dans un seul document excel !
La feuille créée doit avoir exactement la même organisation que la feuille source mais avec seulement la ligne d'1 client, c'est ça ?
Le plus simple serait de nous en dire plus sur le but de cette manipulation, il y a peut être plus efficace..
16 févr. 2016 à 12:46
Il y a date que 20 clients si vous regardez dans la feuille clients.
Le but est de créer une feuille par client avec toutes leurs informations
Par avance merci
Cdt