Import de données de diff. classeurs excel

Résolu
dufosse.david Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
dufosse.david Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


J'ai d'un côté des fiches clients, avec des données non pas sous forme de colonnes, mais réparties dans de cellules çà et là, s'agissant d'un formulaire mis en forme sous excel.
Je souhaiterai pouvoir récupérer ces données pour les faire apparaitre dans un tableau style base de données (champs classiques, nom, prénom, n°tél...).
Si possible de manière automatisée (a l'aide d'une macro), car j'ai beaucoup de fiches clients à traiter.
Les données à importer sont systématiquement dans les mêmes cellules, çà va de soit.

J'avais trouvé ceci :
http://boisgontierjacques.free.fr/...
Rubrique consolidation de fiches dans une BD
, mais çà ne se prête pas tout à fait à mon cas de figure, car il est importé une plage de données sous forme de colonne, de plus, il doit y avoir un problème dans la macro, quand je tente de l'effectuer j'obtiens un message d'erreur.

Pouvez-vous m'aider ?

Merci.

A voir également:

4 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 ....?
0
dufosse.david Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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.
0
dufosse.david Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0