vba-copier des colonnes d'un fichier xls vers un autre fichier xls - VB/VBA/VBS - Programmation
Marsh Posté le 23-11-2016 à 15:41:17
Bonjour
Code :
|
Ce code permet d'attribuer à Fichier le nom choisi.
Ensuite il faut ouvrir le fichier .
Marsh Posté le 23-11-2016 à 16:56:25
Bonjour
actuellement la macro chercher le fichier et l'ouvre
mais ne copie et ne colle pas les infos
' copier et coller vers
' la colonne B de export vers colonne A de rang_equipe
' les colonnes C/D/E/F vers B/C/D/E
'la colonne I verS F
' la colonne L VERS G
' la colonne P/Q/R vers H/I/J
' la colonne V/W vers K/L
Marsh Posté le 23-11-2016 à 17:52:31
Bonjour,
conformément aux règles de ce forum publier l'état actuel du code (y a pas d'ouverture de classeur dans le truc du post initial !)
via l'icône dédiée pour du code …
Sinon une solution simple : activer l'Enregistreur de macros puis opérer manuellement : une base de code est livrée sur un plateau !
Marsh Posté le 24-11-2016 à 09:32:19
Bonjour MArc
j'ai mis le code dans c/c++
Le début de La macro fonctionne
mais la fin non je ne sais pas programmer pour "copie et collage pas les infos sur 2 fichiers"
merci
Didek
[cpp][/cpp]
Sub Import_xls()
Dim Fichier As Variant
Feuil5.Select
Fichier = Application.GetOpenFilename("Fichiers .xls (*.xls),*.xls" )
If Fichier = False Then Exit Sub
rep = MsgBox("Ecrire à la suite sans effacer les données click(OUI)" & vbCr & "Pour Effacer les anciennes données click(NON)", vbExclamation + vbYesNoCancel, "Fichier.TXT" )
If rep = vbCancel Then Exit Sub
If rep = vbNo Then [A2:l100000].ClearContents: ligne = 3
If rep = vbYes Then ligne = [A100000].End(3).Row + 1
'importer les cellules du fichier export.xls vers la feuille "import" du fichier ouvert
Code :
|
Marsh Posté le 24-11-2016 à 10:55:18
Merci de m'indiquer le numéro de la ligne ouvrant le classeur car je ne la vois toujours pas ‼ …
Marsh Posté le 26-11-2016 à 13:50:14
Marc L a écrit : |
Bonjour Marc
est ce le début de la macro que tu souhaitais ?
voilà ce que j'ai (trouvé sur le net)
merci
Code :
|
Marsh Posté le 26-11-2016 à 14:54:30
Pourquoi serait-ce si compliqué de publier l'intégralité du code de la procédure ?
En suivant la progression de ton code en mode pas à pas via la touche F8, quel est donc précisément le souci ?
Nulle part j'ai constaté une quelconque ouverture de classeur …
Marsh Posté le 26-11-2016 à 15:17:24
Bonjour
Dans mon 1er message le code apparaissait en entier.
Juqu'à présent la macro du fichier1.xls ouvre le répertoire
=> puis il faut choisir le fichier2.xls (feuil1) dans lequel se trouvent les données
==> puis les copier
et enfin les coller dans le fichier1
merci
Marsh Posté le 27-11-2016 à 09:24:36
Par deux fois je pense avoir été clair; alors là il te reste à activer l'Enregistreur de macros puis à opérer manuellement :
une base de code est livrée sur un plateau ! En comparant avec ton code actuel, cela te permettra de constater ton oubli …
Marsh Posté le 29-11-2016 à 16:42:44
Bonjour
je pense avoir trouvé une solution.
Ce n'est peut-être pas la plus rapide, il doit u avoir mieux mais ça fonctionne.
voici le code
Merci
Didek
Code :
|
Marsh Posté le 29-11-2016 à 18:50:23
Enfin le fichier est ouvert ! (B-A-BA)
L'Enregistreur de macro est bien pour se mettre sur la voie mais ensuite il faut nettoyer
car un bon code n'utilise pas de Select à tout va, sans pouvoir tester un exemple à partir du code précédent :
Code :
|
Marsh Posté le 29-11-2016 à 21:19:26
Bonsoir
mais pour nettoyer il faut avoir des connaissances
que je n'ai pas
merci
Didek
Marsh Posté le 23-11-2016 à 09:09:58
Bonjour
je souhaiterais que ma macro vba
aille dans le gestionnaire de fichier pour que je puisse choisir un fichier.xls
puis copie certaines colonnes de la feuille "A" (feuille 1)
et les colle dans la feuille "import" (feuille 5) du fichier ouvert
j'ai tenté ce code mais il ne fonctionne pas.
quelqu'un aurait il une idée ,
merci
Didek
Sub Import_xls()
Dim Fichier As Variant
Feuil5.Select
Fichier = Application.GetOpenFilename("Fichiers .xls (*.xls),*.xls" )
If Fichier = False Then Exit Sub
rep = MsgBox("Ecrire à la suite sans effacer les données click(OUI)" & vbCr & "Pour Effacer les anciennes données click(NON)", vbExclamation + vbYesNoCancel, "Fichier.TXT" )
If rep = vbCancel Then Exit Sub
If rep = vbNo Then [A2:l100000].ClearContents: ligne = 3
If rep = vbYes Then ligne = [A100000].End(3).Row + 1
'importer les cellules du fichier export.xls vers la feuille "import" du fichier ouvert
'with FICHIER export
' copier et coller vers
' la colonne B de export vers colonne A de rang_equipe
' les colonnes C/D/E/F vers B/C/D/E
'la colonne I verS F
' la colonne L VERS G
' la colonne P/Q/R vers H/I/J
' la colonne V/W vers K/L
'End with
Workbooks(Export.xls).Worksheets(1).Range(Cells(B, 2), Cells(B, 400)).Copy Worksheets(5).Range(A2)
End Sub