Recherche et copie de données entre 2 fichiers

warrio

XLDnaute Nouveau
Bonjour a tous les spécialistes,

Etant novices en la matières j'ai besoin de vos talents :

Je reçoit différents fichiers de données dont je récupère toujours les mêmes données pour les saisir dans un fichier « nomenclature » dans les onglets correspondant (jusque la tout va bien) et j'ai une macro qui le fait assez bien.

La difficulté que je rencontre c'est que ces données que je récupère, se retrouve dans des colonnes différentes d'un fichier à l'autre ou d'un onglet à l'autre. Par contre l’entête de ces données porte toujours le même "nom", et dans tous les fichiers ...
Aujourd’hui je modifie ma macro pour chaque fichier que je traite et à la longue ça devient pénible.
(Ma macro se trouve dans la feuille 1 et fonctionne au double clique en colonne A)

Donc je voudrais essayé d'avoir une macro qui récupère les données en fonction du nom de la colonne (ex : "désignation" ou "quantité…) au lieu de copier bêtement les valeurs dans la colonne "xx" comme c'est le cas actuellement.

Et je voudrais reproduire une mise en forme aux données que j’ai traité.

Voila j’espère que vous voudrez bien m’accorder votre aide, et un grand merci à tous.

Cordialement warrio
 

Pièces jointes

  • données.xls
    38.5 KB · Affichages: 74
  • données.xls
    38.5 KB · Affichages: 77
  • données.xls
    38.5 KB · Affichages: 74
  • nomenclature2.zip
    47.1 KB · Affichages: 66
  • nomenclature2.zip
    47.1 KB · Affichages: 63
  • nomenclature2.zip
    47.1 KB · Affichages: 63

jpb388

XLDnaute Accro
Re : Recherche et copie de données entre 2 fichiers

Bonjour
Il te manquait deux lignes
j'ai fait sur les colonnes en rouge mais cela s'adapte au nombre que tu veux
à+
 

Pièces jointes

  • données.xls
    39.5 KB · Affichages: 97
  • données.xls
    39.5 KB · Affichages: 99
  • données.xls
    39.5 KB · Affichages: 100

jpb388

XLDnaute Accro
Re : Recherche et copie de données entre 2 fichiers

Bonsoir
Excusez moi j'ai oublié de faire
With worksheet.range("a1","b1")
.merge() 'fusion cellule a1 et b1
.font.name= "Arial black" ' choix de la police
.font.bold=true 'met en gras
.font.sise=12 ' taille de la police
.formula=ucase("toto") ' ecrit en majuscule dans la case
.orientation=90 ' sens de l'écriture
.font.fontstyle="italique" 'style d'écriture
end with

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
si besoin n'hésite pas
 

jpb388

XLDnaute Accro
Re : Recherche et copie de données entre 2 fichiers

bonjour
toutes les cellules auront elles le même format et les mêmes bordures ou chacune d'elle sera différente
dans les deux cas il faudra créer un module et mettre ta nouvelle macro dedans
à+
 

warrio

XLDnaute Nouveau
Re : Recherche et copie de données entre 2 fichiers

Bonjour, et je t'embete encore une fois ;)

j'ai besoin d'un fonction simple :la ligne qui vient d'être ajouter sera encadrer (pour chaque onglets) (bordure pour toutes les cellules de la colonne "A" a "AC", et que toutes ces cases aient la même police (par ex arial et 10pt) et une couleur de fond pour une de ces cellules (ex colonne "C"). (ensuite je l'adapterais, et répeterais en fonction de mon besoin).
 

jpb388

XLDnaute Accro
Re : Recherche et copie de données entre 2 fichiers

Bonjour
en haut vous mettez un
Dim MaLigne As Integer

Dans le bas de la macro tu as ces ligne la
End If
Cancel = True
Call FormatageLigne(pdt, MaLigne) c'est celle ci qu'il faut ajouter
End Sub
puis vous créez un module et vous collez cela dedans

Sub FormatageLigne(ByVal DTP As String, ByVal MaLigne As Integer)
Windows("Nomenclature.xls").Activate
Sheets(Array("M01", "R01", "R02", "R03", "R04", "R05", "R06", "R07", "R08", "M02")).Select
Sheets("M01").Activate
Range("A" & MaLigne + 1, "ac" & MaLigne + 1).Select
With Selection.Font
.Name = "Arial"
.Size = 10
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Range("C" & MaLigne + 1).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Range("A5").Select
Sheets("M01").Activate

End Sub

a+
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87