Copier les lignes qui sont sous une ligne à valeur donnée
binorda
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis nouveau ici, j'utilise excel depuis longtemps et commence à avoir besoin de rentrer des formules plus complexes pour mettre en place certain process. Je crains d'être obligé de passer par vba pour certain process que je n'arrive pas résoudre avec des formules. Par contre je suis totalement débutant en vba ... j'espère que vous pourrez m'aider .
Voici mon problème :
Je reçois d'un distributeur des décomptes de vente contenant sur un seul *.xls des infos de plusieurs clients. Infos que je dois dispatcher à mon tour en faisant à chaque client un décompte avec les infos qui le concerne (vente, recap des ventes, stock).
voici ce que je n'arrive pas à faire:
Dans l'onglet "Décompte DISTRIB" (celui de mon distributeur) j'ai besoin de copier toutes les lignes se trouvant SOUS la ligne contenant la valeur "RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT" , disons les 100 lignes qui se trouvent en dessous pour faire large, ou mieux : toutes les lignes tant qu'il y a une valeur à l'intérieur.
Copier ces lignes SOUS la ligne contentant "RECAPITULATIF DES VENTES ET RETOURS" dans l'onglet "Décompte ROY" (décompte de mon client 1)
Ensuite j'aurais besoin de supprimer (de ces lignes importées) celles qui ne contiennent PAS le mot "Royant" (puisque par élimination ce sont les lignes d'autres clients)
Et enfin supprimer (toujours de ces lignes importées) les lignes complètement vides pour que le doc soit propre.
Je ne réalise pas trop à quel point ce que je souhaite faire est compliqué ou pas et je remercie infiniment ceux qui aurons la patience de m'aider.
Thomas.
Je suis nouveau ici, j'utilise excel depuis longtemps et commence à avoir besoin de rentrer des formules plus complexes pour mettre en place certain process. Je crains d'être obligé de passer par vba pour certain process que je n'arrive pas résoudre avec des formules. Par contre je suis totalement débutant en vba ... j'espère que vous pourrez m'aider .
Voici mon problème :
Je reçois d'un distributeur des décomptes de vente contenant sur un seul *.xls des infos de plusieurs clients. Infos que je dois dispatcher à mon tour en faisant à chaque client un décompte avec les infos qui le concerne (vente, recap des ventes, stock).
voici ce que je n'arrive pas à faire:
Dans l'onglet "Décompte DISTRIB" (celui de mon distributeur) j'ai besoin de copier toutes les lignes se trouvant SOUS la ligne contenant la valeur "RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT" , disons les 100 lignes qui se trouvent en dessous pour faire large, ou mieux : toutes les lignes tant qu'il y a une valeur à l'intérieur.
Copier ces lignes SOUS la ligne contentant "RECAPITULATIF DES VENTES ET RETOURS" dans l'onglet "Décompte ROY" (décompte de mon client 1)
Ensuite j'aurais besoin de supprimer (de ces lignes importées) celles qui ne contiennent PAS le mot "Royant" (puisque par élimination ce sont les lignes d'autres clients)
Et enfin supprimer (toujours de ces lignes importées) les lignes complètement vides pour que le doc soit propre.
Je ne réalise pas trop à quel point ce que je souhaite faire est compliqué ou pas et je remercie infiniment ceux qui aurons la patience de m'aider.
Thomas.
A voir également:
- Copier les lignes qui sont sous une ligne à valeur donnée
- Partager photos en ligne - Guide
- Aller à la ligne excel - Guide
- Mètre en ligne - Guide
- Comment copier une vidéo youtube - Guide
- Apparaitre hors ligne instagram - Guide
2 réponses
re
tu seras peut-^tre surpris de voir 2 macros mais j'envisage que tu veux procéder peut-^tre avec tous les clients avec leur feuille "décompte machin"... ce qui n"cessitera des aménagements des codes
tu dis...
Michel
Option Explicit
'-----------------------
Sub extraire()
Dim Onglet As String, Client As String
Application.ScreenUpdating = False
Client = "Royant"
Onglet = "Décompte ROY"
selectionner Client, Onglet
End Sub
'-----------------------------
Sub selectionner(Nom, feuille)
Dim Nbre As Integer, Lig As Integer, Cptr As Integer, Tampon
Dim Lig2 As Integer
With Sheets("Décompte DISTRIB")
Nbre = Application.CountIf(.Columns("C"), Nom)
Lig = 1
For Cptr = 1 To Nbre
Lig = .Columns("C").Find(Nom, .Cells(Lig, "C")).Row
Tampon = .Range(.Cells(Lig, "A"), .Cells(Lig, "H"))
.Rows(Lig).Delete
With Sheets(feuille)
Lig2 = Lig2 + 1
.Range(.Cells(Lig2, "A"), .Cells(Lig2, "H")) = Tampon
End With
Next
End With
End Sub
tu seras peut-^tre surpris de voir 2 macros mais j'envisage que tu veux procéder peut-^tre avec tous les clients avec leur feuille "décompte machin"... ce qui n"cessitera des aménagements des codes
tu dis...
Michel
Hello Michel,
navré mais la macro ne fonctionne pas top ...
j'ai besoin de copier les lignes qui contiennent "royant" (ou le nom d'un autre client) mais se trouvent SOUS la ligne qui contient RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT
et les copier dans l'onglet "decompte ROY" sous la ligne contenant RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT
j'ai pas l'impression que ta macro fasse tout a fait ça .
Cool si tu as un moment pour t'y pencher encore.
Merci pour ton aide précieuse.
Bien à toi
Thomas
navré mais la macro ne fonctionne pas top ...
j'ai besoin de copier les lignes qui contiennent "royant" (ou le nom d'un autre client) mais se trouvent SOUS la ligne qui contient RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT
et les copier dans l'onglet "decompte ROY" sous la ligne contenant RECAPITULATIF DES VENTES ET RETOURS PAR CLIENT
j'ai pas l'impression que ta macro fasse tout a fait ça .
Cool si tu as un moment pour t'y pencher encore.
Merci pour ton aide précieuse.
Bien à toi
Thomas
Bonjour
désolé mais j'avais testé et OK;. de plus j'avais anticipé des choix différents que "royant" par une macro paramétrée:. Le choix de différents noms auraient être précisé dans ta demande initiale
d'autre part j'ai considéré que "recapitulatif. des ventes etc" était en ligne 1. sinon tu te serais donné la peine de l'écrire dans ta demande
pour plusieurs noms tu fais 2 listes : noms et onglet et tu choisis le nom que tu veux
abandon du suivi:
désolé mais j'avais testé et OK;. de plus j'avais anticipé des choix différents que "royant" par une macro paramétrée:. Le choix de différents noms auraient être précisé dans ta demande initiale
d'autre part j'ai considéré que "recapitulatif. des ventes etc" était en ligne 1. sinon tu te serais donné la peine de l'écrire dans ta demande
pour plusieurs noms tu fais 2 listes : noms et onglet et tu choisis le nom que tu veux
abandon du suivi:
on trouve royant dans la colonne C (la 3ème donc)
"decompte distrib" contient 8 colonnes (de A à H)
Bien à vous
si oui voir dans ce site de Jacques Boisgontier rubrique filtre automatique-copie d'une zone filtée
est-ce si compliqué de copier des lignes qui se trouvent sous une ligne contenant une cellule de valeur "xxxx" ?
Merci
je repasse tout à l'heure...