Import de données de diff. classeurs excel
Résolu/Fermé
dufosse.david
Messages postés
3
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010
-
16 mai 2010 à 12:21
dufosse.david Messages postés 3 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 17 mai 2010 - 17 mai 2010 à 10:25
dufosse.david Messages postés 3 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 17 mai 2010 - 17 mai 2010 à 10:25
A voir également:
- Import de données de diff. classeurs excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Reinstaller windows sans perte de données - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
4 réponses
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
16 mai 2010 à 22:36
16 mai 2010 à 22:36
Bonjour,
Pouvez-vous mettre une fiche client (la sructure suffit) sur https://www.cjoint.com/ pour voir se qu'il est possible de faire ?
Comment ces fiches clients sont réparties sur la feuille ....?
Pouvez-vous mettre une fiche client (la sructure suffit) sur https://www.cjoint.com/ pour voir se qu'il est possible de faire ?
Comment ces fiches clients sont réparties sur la feuille ....?
dufosse.david
Messages postés
3
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010
17 mai 2010 à 08:33
17 mai 2010 à 08:33
Bonjour et merci pour votre réponse.
La structure de ma macro :
Sub Transfert()
ChDir ThisWorkbook.Path ' Répertoire application
ClassActuel = ThisWorkbook.Name
Range("A2:L1000").ClearContents
Range("b2").Select
nf = Dir("DD*.xls") ' Première fiche
Do While nf <> ""
Workbooks.Open Filename:=nf
[C15:H15].UnMerge 'defusionne
[C16:H16].UnMerge 'defusionne
[C19:H19].UnMerge 'defusionne
[C21:H21].UnMerge 'defusionne
[E43:F43].UnMerge 'defusionne
[E45:F45].UnMerge 'defusionne
[G43:H43].UnMerge 'defusionne
[G45:H45].UnMerge 'defusionne
Range("C15,C16,C19,C21").Copy
Windows(ClassActuel).Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows(nf).Activate
Range("E43,E45").Copy
Windows(ClassActuel).Activate
ActiveCell.Offset(0, 4).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows(nf).Activate
Range("G43,G45").Copy
Windows(ClassActuel).Activate
ActiveCell.Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Workbooks(nf).Close savechanges:=False
ActiveCell.Offset(0, -7) = nf
ActiveCell.Offset(1, -6).Select
nf = Dir() ' Fiche suivante
Loop
End Sub
Après recherches j'ai réussi à établir ceci.
Ce qui me dérange, c'est que je n'arrive à pas faire une sélection comportant des cellules se trouvant dans des colonnes différentes (avec la commande "Range"). Donc dans ma structure, le retour 2 fois à la fiche client ouverte.
Si j'ai besoin besoins d'autres éléments sur ma fiche, je serai obligé de faire autant de retours sur la fiche que d'élément à importer, ce qui risque de rendre assez long le traitement.
Si vous avez une idée je suis preneur.
Merci.
La structure de ma macro :
Sub Transfert()
ChDir ThisWorkbook.Path ' Répertoire application
ClassActuel = ThisWorkbook.Name
Range("A2:L1000").ClearContents
Range("b2").Select
nf = Dir("DD*.xls") ' Première fiche
Do While nf <> ""
Workbooks.Open Filename:=nf
[C15:H15].UnMerge 'defusionne
[C16:H16].UnMerge 'defusionne
[C19:H19].UnMerge 'defusionne
[C21:H21].UnMerge 'defusionne
[E43:F43].UnMerge 'defusionne
[E45:F45].UnMerge 'defusionne
[G43:H43].UnMerge 'defusionne
[G45:H45].UnMerge 'defusionne
Range("C15,C16,C19,C21").Copy
Windows(ClassActuel).Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows(nf).Activate
Range("E43,E45").Copy
Windows(ClassActuel).Activate
ActiveCell.Offset(0, 4).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Windows(nf).Activate
Range("G43,G45").Copy
Windows(ClassActuel).Activate
ActiveCell.Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Workbooks(nf).Close savechanges:=False
ActiveCell.Offset(0, -7) = nf
ActiveCell.Offset(1, -6).Select
nf = Dir() ' Fiche suivante
Loop
End Sub
Après recherches j'ai réussi à établir ceci.
Ce qui me dérange, c'est que je n'arrive à pas faire une sélection comportant des cellules se trouvant dans des colonnes différentes (avec la commande "Range"). Donc dans ma structure, le retour 2 fois à la fiche client ouverte.
Si j'ai besoin besoins d'autres éléments sur ma fiche, je serai obligé de faire autant de retours sur la fiche que d'élément à importer, ce qui risque de rendre assez long le traitement.
Si vous avez une idée je suis preneur.
Merci.
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
17 mai 2010 à 10:18
17 mai 2010 à 10:18
Bonjour,
Merci pour l'information sur votre procédure, mais cela ne m'aide pas sans.
une réponse à mes questions précédentes.
Désolé, je ne suis pas en mesure dans dire plus.
Merci pour l'information sur votre procédure, mais cela ne m'aide pas sans.
une réponse à mes questions précédentes.
Désolé, je ne suis pas en mesure dans dire plus.
dufosse.david
Messages postés
3
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010
17 mai 2010 à 10:25
17 mai 2010 à 10:25
Merci pour votre aide, mais je ne suis pas en mesure de vous fournir la trame des fiches clients pour des raison de confidentialité.
Je suis arrivé à mes fins.
Je vais fermer le post.
Bonne continuation.
Je suis arrivé à mes fins.
Je vais fermer le post.
Bonne continuation.