Boucle mettant a la suite d'un tableau des données dun autre
Bonjour,
S'il vous plaît j'aimerais réalisé une boucle qui récupère des données d'un tableau pour le mettre dans un autre. et a l'aide d'un msgbox l'utilisateur entre le nombre de fois que la boucle va être effectué. mon code marche très bien pour la première utilisation mais ensuite si je le repète il ne change pas de ligne donc copie les même données pouir les écraser encore. mais j'aimerais que si l'utilisateur demande que la boucle s'excecute 2 fois alors:
RESULTAT VOULU:
1ère boucle: le code copie les premiers données de la ligne A1 du tableau 1 et les copie a la suite du tableau 2 donc pas forcement A1 mais a la suite des données deja présente.
2ème boucle: le code descend automatiquement d'une ligne donc A2 du tableau 1 et les copie a la suite du tableau 2.
Je ne sais pas si j'ai été assez clair mais en vous remerciant d'avance
CORDIALEMENT
Sub test_EXCEL()
Dim NBRE As Integer
NBRE = InputBox("ENTREZ LE NOMBRE DE VOITURE", "NBRE V") 'NOMBRE DE FOIS QU'ON REPETE LA BOUCLE
Workbooks.Open Filename:="C:\Users\GIS\Desktop\GIS\CA_2015_GIS.xlsx"
Windows("CA_2015_GIS.xlsx").Activate
Sheets("CA " & (InputBox("MOIS D'ENREGISTREMENT (JANVIRE, FEVRIER...)", "MOIS")) & " 2015").Select
'+---------------------------------+
'| DEBUT DE LA BOUCLE |
'+---------------------------------+
Windows("HOME.xlsm").Activate
Sheets("DOSSIER").Select
Range("E10").Select ' COPIE DATE
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS.xlsx").Activate
Range("A7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("HOME.xlsm").Activate
Range("E11").Select 'COPIE NUM DOSSIER
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS.xlsx").Activate
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("HOME.xlsm").Activate
Range("E13").Select 'COPIE NOMS CLIENT
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS.xlsx").Activate
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Bonjour
Il faudrait être plus clair
Tu parles de A1 et dans ton code pas de A1 !!!!!
naka1onshot a écrit :1ère boucle: le code copie les premiers données de la ligne A1 du tableau 1
Tu copies E10 vers A7, E11 vers B7 et E13 vers C7
Quelles seront les cellules lors de la prochaine boucle
A suivre
Cela serait un plus si tu joins les 2 fichiers
Désolé pour l'incompréhension de mon sujet. je reformule dans mon contexte et avec les pièces jointes qui vont avec.
Voici le cas auquel je suis confronté:
Mon classeur test.xlsm est le classeur dans lequel l'utilisateur remplira les données concernant un client qui pourrais avoir 1 ou plusieurs véhicules.
J'aimerais pouvoir rajouter dans mon 2ème classeur CA_2015_GIS - Copie.xlsx tout les vehicules du client.
Ce que j'ai fais:
J'ai réussi a faire pour la 1ère voiture du tout premier client.
Ce que j'aimerais rajouter:
- Si la 2ème feuille contient deja des données rajouter les nouvelles données a la suite
- Rajouter une boucle qui s'applique pour rajouter le deuxieme vehicule du client a la suite du premier automatiquement.
Extrait de mon code:
Sub test_EXCEL()
Dim NBRE As Integer
NBRE = InputBox("ENTREZ LE NOMBRE DE VOITURE", "NBRE V") 'NOMBRE DE FOIS QU'ON REPETE LA BOUCLE
Workbooks.Open Filename:="C:\Users\GIS\Desktop\GIS\CA_2015_GIS - Copie.xlsx"
Windows("CA_2015_GIS - Copie.xlsx").Activate
Sheets("CA " & (InputBox("MOIS D'ENREGISTREMENT (JANVIRE, FEVRIER...)", "MOIS")) & " 2015").Select
'+---------------------------------+
'| DEBUT DE LA BOUCLE |
'+---------------------------------+
Windows("TEST.xlsm").Activate
Sheets("DOSSIER").Select
Range("E10").Select ' COPIE DATE
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("A7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("TEST.xlsm").Activate
Range("E11").Select 'COPIE NUM DOSSIER
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("TEST.xlsm").Activate
Range("E13").Select 'COPIE NOMS CLIENT
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("TEST.xlsm").Activate
Range("L8").Select 'MARQUE
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("D7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("TEST.xlsm").Activate
Range("M8").Select 'MODELE
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("E7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("TEST.xlsm").Activate
Range("N8").Select 'CHASSIS
Application.CutCopyMode = False
Selection.Copy
Windows("CA_2015_GIS - Copie.xlsx").Activate
Range("F7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Bonsoir
A tester
Attention : le fichier xlsx se nomme "CA_2015_GIS.xlsx"
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
Bonjour naka1onshot, Banzai64
Et comme ça ?
Beaucoup plus simple et beaucoup plus rapide !
Rebonjour a tous et vraiment désolé pour le retard j'etais en voyage et c'etait un peu compliqué. Merci beaucoup pour vos réponses et propositions a tous. Particulièrement a toi Andreéa73 ton code est celui qui se rapproche le mieu du résultat voulu mais il y'a juste un problème:
On arrive a un moment ou la ligne réservé au totaux soit atteinte par les copies éffectué par la macro. du coup ce n'est pas très pratique dans la mésure que je doit faire un très long tableau et avoir mes totaux très bas j'ai cherché un autre moyen mais j'ai pas trouvé. Pourriez vous me proposer une solution a ce problème s'il vous plait?
Merci d'avance
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
Bonjour naka1onshot
Heureux d'avoir contribué ç un début de solution...!
La réponse a ton problème... facile... un tableau dynamique (ou automatique comme j'aime à le dire....! )
Je te prépare ça dans le courant de l'après-midi... ç ce soir donc !
andrea73 a écrit :Je te prépare ça dans le courant de l'après-midi... ç ce soir donc !
je voulais dire "à ce soir donc ! "
- Messages
- 1'119
- Excel
- 2013 FR
- Inscrit
- 18/09/2015
- Emploi
- Développeur Bureautique Indépendant (Excel)
Bonjour naka1onshot
Désolé ! j'ai pris un peu de retard...
Mais tout arrive à qui sait attendre !
Voici donc les modifs promises...
PS/ j'ai renommé ton tableau de recap en "CA 2015 nouveau"
MERCI BEAUCOUP POUR LA SOLUTION ET DESOLE J'AI REPONDU IL Y'A FORT LONGTEMPS MAIS JE VIENS DE CONSTATER QUE J'AVAIS EU UN PROBLEME DE CONNEXION MERCI ENCORE ET DSL