Bonjour Mesdames, Messieurs,
Via une macro, je souhaite transférer les données (numéro de facture, site, code site, montant TTC, montant HT) d'une première base de données (BASE A) vers une seconde base de données (BASE B).
Pour cela, je souhaite utiliser une macro qui me permet d'importer ces données : quand j'appuie sur mon bouton importer, une fenêtre s'ouvre pour que je sélectionne mon fichier de ma BASE A afin que celle_ci s'exporte vers ma BASE B.
J'ai réussi mon code qui me permet d'ouvrir une fenêtre qui me permet d'aller chercher mon fichier. Le voici ci-dessous:
' Boucle permettant de sélectionner plusieurs fichiers
'Do '<--- dédié à la boucle DO pour ouvrir plusieurs fichiers
' Sélection du classeur source à partir d'une fenêtre
cheminfichier = Application.GetOpenFilename("Fichiers Excels (*.xlsm), *.xlsm")
' Si on clique sur Annuler dans la fenêtre, on sort de la boucle
If cheminfichier = False Then
'Exit Do '<--- dédié à la boucle DO pour ouvrir plusieurs fichiers
End If
'Ouverture du classeur source
Workbooks.Open cheminfichier
' Récupération du nom du classeur + extension
For i = Len(cheminfichier) To 1 Step -1
If Mid(cheminfichier, i, 1) = "\" Then Exit For
Next
nomfichier = Mid(cheminfichier, i + 1, Len(cheminfichier))
Mais je n'ai pas réussi le code qui dit à la macro d'exporter de la BASE A, dans la feuille 1 et dans les cellules ("A1:B45") et d'importer vers la BASE B, dans la feuille 1 et dans les cellules ("A1:B45"). Une fenêtre apparait et me dit : Erreur d’exécution - L'indice n'appartient pas à la sélection.". Voici mon code ci-dessous:
Workbooks("nomfichier").Worksheets("Feuil1").Range("A2:AK33").Value = Workbooks("outils.xlsm").Worksheets("BDDengie").Range("C2:AM33").Value
Auriez-vous une piste pour m'aider à résoudre mon problème s'il vous plait ?
Cordialement,
Lucie.