Envoie des données un fichier à un autre Fichier - VBA

Bonjour Man,

Et bien merci de revenir vers moi. Le code me parait bien. Après, c'est juste une question de style. Cependant, j'ai apporté un petit changement dans la fonction Dir. J'ai mis un * au lieu d'un ? car le ? remplace un caractère strictement contrairement au * qui peut remplacer une chaine vide. Donc, en cas de fichier xls, c'est mieux.

Mais est-ce nécessaire ? Voici le code :

Sub Envoi(CelluleCliquee As Range)

Dim WsDest As Worksheet
Dim AdrCell$
Dim Dossier$, NomFichier$

Dossier = "C:\Users\GGDesktop\"
NomFichier = Dir(Dossier & "BB.xls*")
'LIGNE DIR UTILE SI BB PEUT AVOIR EXTENSION XLS, XLSX OU XLSM...

If NomFichier = "" Then MsgBox "Le fichier n'est pas présent": Exit sub 'quitte procédure si fichier inexistant

Workbooks.Open Dossier & NomFichier 'Ouverture BB

Set WsDest = Workbooks(NomFichier).Sheets("Destination") 'affectation feuille destination
AdrCell = CelluleCliquee.Address 'adresse de la cellule cliquée en source

With WsDest
    .Range(AdrCell).Value = CelluleCliquee.Value 'feuille destination prend valeur cellule cliquée en source (à la même adresse)
    .Range(AdrCell).Offset(0, 2).Value = CelluleCliquee.Offset(0, 5).Value 'colonne C destination prend valeur colonne F source
end with

Set WsDest = Nothing 'libération

End Sub

Petite variante si BB est certainement de type xlsm :

Sub Envoi(CelluleCliquee As Range)

Dim WsDest As Worksheet
Dim AdrCell$
Dim NomFichier$

NomFichier = "C:\Users\GGDesktop\BB.xlsm"

If Dir(NomFichier) = "" Then MsgBox "Le fichier n'est pas présent": Exit sub 'quitte procédure si fichier inexistant

Workbooks.Open NomFichier 'Ouverture BB

Set WsDest = Workbooks(NomFichier).Sheets("Destination") 'affectation feuille destination
AdrCell = CelluleCliquee.Address 'adresse de la cellule cliquée en source

With WsDest
    .Range(AdrCell).Value = CelluleCliquee.Value 'feuille destination prend valeur cellule cliquée en source (à la même adresse)
    .Range(AdrCell).Offset(0, 2).Value = CelluleCliquee.Offset(0, 5).Value 'colonne C destination prend valeur colonne F source
end with

Set WsDest = Nothing 'libération

End Sub

Cordialement,

Bonsoir 3GB et bonsoir à tous,
Merci encore la formule fonctionne à merveille.
Je ne connaissais pas le double click c'est vraiment super.
J'ai besoin de ton aide pour réaliser l'action suivante dans 2 fichiers :

Fichier A et B sont ouvert
Quand je double clique sur un numéro en colonne A dans le fichier A
Je souhaite que la formule recheche si le numéro existe sur le fichier B en colonne B avec sont type en colonne C(colonne C)
Si celui existe mettre une couleur sur le numéro recherche + type dans le fichier A
Merci d'avance pour ton Aide

4a.xlsm (8.68 Ko)
4b.xlsm (8.32 Ko)
Rechercher des sujets similaires à "envoie donnees fichier vba"