Dupliquer des lignes sur excel

XANA75 Messages postés 11 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai besoin d'aide pour dupliquer des lignes sur excel.
Le fichier est très lourd en nombre de lignes et je na connais pas trop le système des macros.
Il faut que je duplique les lignes portant un code analytique fichier ci-joint.
Merci pour votre aide.

Cordialement,
A voir également:

16 réponses

XANA75 Messages postés 11 Statut Membre 1
 
Bonjour,
Effectivement, je dois dupliquer plusieurs lignes d'un fichier mais uniquement celle qui comportent un code analytique dans la colonne "code analytique".

Cordialement,
1
ccm81 Messages postés 11033 Statut Membre 2 433
 
Juste en passant, as tu pensé à utiliser un filtre ?

Cdlmnt
1
altashy Messages postés 42 Statut Membre 2
 
Salut
Peux-tu préciser ce que tu veux dire part : "lignes portant un code analytique " ?
Si j'ai bien compris tu souhaiterais copier toutes lignes correspondantes à une valeur spécifique via une marco?

je n'ouvrirais aucun fichier.
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
Bonjour

Pour envoyer un fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

RQ1. un bout de fichier suffit (quelques dizaines de lignes)
RQ2. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
XANA75 Messages postés 11 Statut Membre 1
 
Rebonjour,

Voici le lien avec le tableau initial:https://www.cjoint.com/c/HAeniD1C2K7
Voici le lien avec le tableau final souhaité:https://www.cjoint.com/c/HAennnBEdi7

Merci pour votre aide.
Cordialement,
0
altashy Messages postés 42 Statut Membre 2
 


code :
Sub Bouton1_Cliquer()
compteur = 2
nbli = Cells(Sheets("Feuil1").Rows.Count, "A").End(xlUp).Row ' nombre de ligne en colonne A
ca = InputBox("code analytique : ")
For i = 2 To nbli
If Cells(i, 1) = ca Then
Cells(i, 1).Select
Cells(i, 1).Copy
Cells(compteur, 3).PasteSpecial
compteur = compteur + 1
End If
Next
Application.CutCopyMode = False
End Sub

si tu n'as pas compris n'ésite pas :D
0
XANA75 Messages postés 11 Statut Membre 1
 
Rebonjour,

merci pour votre rapidité mais lorsque j'insère le code sur le fichier et que j'exécute la macro voici le message qui apparaît:

erreur d'exécution '9'
l'indice n'appartient pas à la sélection.

Pourriez-vous m'aider?
Cordialement,
0
altashy Messages postés 42 Statut Membre 2
 
je n'envoie pas mon code si il ne marche pas.
si il ne marche pas cher toi, vérifie que tout correspond.
par exemple le nom de l'onglet (chez moi Feuil1), les colonnes, les lignes... et toi de l'adapter avec tes variables.
mon petit bout de code marche uniquement avec la configuration comme sur la photo en PJ
0
XANA75 Messages postés 11 Statut Membre 1
 
Re bonjour,

Désolé je ne voulais pas vous offenser.
J'utilise les macros que très peu.
J'ai doc renommé ma feuille selon votre conseil en feuil 1 selon le document envoyé.
Ensuite j'ai sélectionné tout le document et j'ai exécuter la macro mais une fenêtre apparaît qui me demande un code analytique.
Que dois-je faire.

Merci pour votre aide.
0
altashy Messages postés 42 Statut Membre 2
 
Je suis desolé si je vous fait cette effet, ce n'était pas mon but :D
c'est un msgbox qui vous demande de rentrez votre code analytique qui vous convient.
une fois appuyer sur OK il va chercher dans la première colonne si ce que vous venez de rentrer y est. si oui, il prend la cellule et la cole dans la 3eme colonne.

en esperant vous avoir éclairé.
0
altashy Messages postés 42 Statut Membre 2
 
si tu souhaite toute la ligne comme tu le précise,
Rows(i).Select
Selection.Copy
Rows("8" + compteur).Select ' regarde a la fin d mon message *
Selection.PasteSpecial

à la place de
Cells(i, 1).Select
Cells(i, 1).Copy
Cells(compteur, 3).PasteSpecial
  • ligne à laquel tu veux coller ici à la ligne 8 + 1, si il y a une autre ligne a copier ca colle dans 8 + 2 etc (ca le fait tout seul t'inquite pas)
0
XANA75 Messages postés 11 Statut Membre 1
 
J'ai mis le code analytique 7400000 selon mon tableau mais rien ne se passe.

Est-ce normal ou après exécuter le macro je dois faire autre chose.
J'avoue être perdu.

Cordialement,
0
XANA75 Messages postés 11 Statut Membre 1
 
voici ce que j'ai insérer dans la macro mais j'ai toujours la demande de code analytique et rien ne se passe.
Je suis vraiment désolé mais je n'y arrive pas.

Sub Bouton1_Cliquer()
compteur = 2
nbli = Cells(Sheets("Feuil1").Rows.Count, "A").End(xlUp).Row ' nombre de ligne en colonne A
ca = InputBox("code analytique : ")
For i = 2 To nbli
If Cells(i, 1) = ca Then
Rows(i).Select
Selection.Copy
Rows("8" + compteur).Select ' regarde a la fin d mon message *
Selection.PasteSpecial
compteur = compteur + 1
End If
Next
Application.CutCopyMode = False
End Sub

Cordialement,
0
XANA75 Messages postés 11 Statut Membre 1
 
je viens d'utiliser le filtre mais rien n'y fait.
Toujours la demande de code analytique et aucunes lignes ne se duplique.
Est-ce normal?

Cordialement,
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour tt le monde

tes 22000 codes traités en 0,7 secondes
(restitution en feuille "final" car aucune précision annoncée dans la demande)

https://www.cjoint.com/c/HAerleNVC6F


 Michel
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Salut ccm 81, ca va ? ;o)

j'avais pensé aux filtres mais suis un peu fâché avec eux: si tu as le temps, histoire de tester la rapidité...
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
Salut michel

ça roule merci, et bonne année à toi au passage
22000 codes en 0.7s, sur ma vieille bécane ça traine un peu mais ça reste raisonnable (0.07s de plus). Je ne pense pas que ça vaille le coup d'essayer de faire mieux ........ quoi que ;-)

Cdlmnt
0
XANA75 Messages postés 11 Statut Membre 1
 
Bonjour monsieur,

Je suis désolé mais je n'arrive pas à ouvrir le dossier car il me dit qu'il est endommagé.
Pourriez-vous me le renvoyer s'il vous plait?

Cordialement,
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Je viens d'essayer et je n'ai pas eu de problèmes :-/

un autre essai
https://www.cjoint.com/c/HAerANmfWZF
0
XANA75 Messages postés 11 Statut Membre 1
 
J'ai essayé la formule que vous m'avez envoyé et cela me demande toujours le code analytique que j'ai insérer et cela met le message suivant:

code inexistant ou non numérique.

Pourriez-vous m'aidez car je dois mal m'y prendre je pense?

Cordialement,
0
altashy Messages postés 42 Statut Membre 2
 
Vous voulez dupliquer des lignes qui on un code analytique spécifique.

Cette ligne vous affiche une boite de dialogue vous demandant votre code analytique et est stocké dans la variable "ca". Après vous pouvez effectuer les différents testes que vous souhaitez avec cette variable.

ca = InputBox("code analytique : ") .

Dans mon exemple envoyé précédement, à chaque fois qu'une cellule est identique à "ca", ça copie la ligne et la colle 2 cases plus bas.

utilise :
Rows(nbli + compteur).Select
au lieu de
Rows("8" + compteur).Select

pour que ce soit totalement automatisé.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
?????
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour,
tu as peut-être mal saisi ton code 7400000 qui est un nombre et que l'on retrouve dans ta colonne K
ou alors tu as très mal expliqué ce que tu voulais
ou ton envoi de classeur n'est pas la réalité

notre ami CCM81 a testé et c'est OK

donc....
0
XANA75 Messages postés 11 Statut Membre 1
 
Bonjour messieurs,

merci j'ai bien reçu votre tableau.
En faite je me suis mal exprimée.
Les lignes doivent se dupliquer les unes à la suite des autres sur le même document.
Seul les lignes portant un code analytique doivent être dupliquées le reste des ligne reste inchangé.
Est-il possible que dans la ligne dupliquer, on fasse apparaître une lettre "A" en colonne "Devise" à la place du "E" indiqué sachant que la première ligne devra garder la lettre "E"?

Je vous remercie pour votre aide,
Cordialement,
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
flou et incompréhensible....

Abandon
0