[VBA excel] Copier vers un autre classeur

Résolu
schont Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
schont Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Je souhaiterais copier la valeur de certaines cellules d'un classeur A vers des textbox d'un userform d'un classseur B.
Concrètement j'aimerais quand je clique sur un bouton dans le classeur A (déjà rempli) la macro liée m'ouvre le classeur B, m'affiche l'userform et copie les infos choisies dans les textbox, comme ca je clique sur le bouton "valider" de l'userform et les données sont ajoutées dans le classeur B. J'ai une piste de code mais ca ne marche pas :
Sub Bouton1_QuandClic()
Workbooks.Open Filename:="R:\CodeBarre\31_07_2007 (version 1).xls"
Workbooks("31_07_2007 (version 1).xls").Sheets(1).Activate
Sheets("Feuil1").Cells(Lg, "B").Value = Workbooks("31_07_2007 (version 1).xls").Sheets("Feuil1").UserForm4.ComboBox5.Value  'Type
' ...
End Sub


Merci d'avance
A voir également:

2 réponses

schont Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci de m'avoir répondu, le problème ne venait pas de là, j'utilise cette commande dans un autre fichier vba et elle ne m'a jamais posée problème.
Pour répondre à ma question ;) :
J'utilise la fonction copie qui me copie ma feuille du classeur A vers une autre feuille de mon classeur B, et j'ouvre l'UserForm ensuite qui va récupérer les valeurs sur la copie du classeur B.

Sub Bouton1_QuandClic()
Workbooks.Open Filename:="S:\Mon Classeur B.xls"
Windows("Mon Classeur A.xls").Activate
    Sheets("Feuille du classeur A").Select
    Range("A1:K45").Select
    Range("K45").Activate
    Selection.Copy
    Windows("Classeur B.xls").Activate
    Sheets("Feuil2").Select
    Range("a1").Select
    ActiveSheet.Paste
      
    
    Sheets("Feuil1").Select
UserForm1.Show
 Application.CutCopyMode = False ' pour effacer le pressepapier sinon j'ai le message  de trop plein quand je ferme excel
End Sub
5
Sir_DEC Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   75
 
Sans bien étudier ton cote je peux déjà te dire que "Cells(Lg, "B")" n'est pas correct.

Il faut écrire Cells(Lg, 2) ou Range("B" & Lg).
0