Remplir deux fichier Excel avec le meme formulaire useform
Bonjour,
j'aurais besoin d'un coup de pouce, alors voici le problème, j'ai créer un formulaire useform dans un fichier excel (prise de commande) qui rempli une feuille du meme fichier (nouveau) jusqu'ici il n' y a pas de soucis tout fonctionne parfaitement.
Mon problème est que je veux que le formulaire remplit un autre fichier excel (fichsource) fenetre (source) en meme temps.
j'ai essayé de déclarer les feuilles en question au début avec ce code mais le deuxieme fichier s'ouvre mais ne se remplit pas du tout.
voici mon code :
Private Sub CommandButton1_Click()
Dim prise As Workbook
Dim sourcing As Workbook
Dim ws As Worksheet
Dim new As Worksheet
Set sourcing = Workbooks.Open("lien sur mon bureau")
Set ws = sourcing.Sheets("source")
Set new = ThisWorkbook.Sheets("nouveau")
Dim L As Integer
If MsgBox("Confirmez-vous l’ajout?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
With Worksheets("NOUVEAU")
L = .Range("A65536").End(xlUp).Row + 1
.Range("A" & L).Value = ComboBox1
.Range("B" & L).Value = ComboBox5
.Range("C" & L).Value = ComboBox3
.Range("D" & L).Value = ComboBox2
.Range("E" & L).Value = TextBox1
.Range("F" & L).Value = ComboBox6
.Range("G" & L).Value = ComboBox4
.Range("H" & L).Value = TextBox3
.Range("I" & L).Value = TextBox4
.Range("J" & L).Value = TextBox5
End With
With ws
m = ws.Range("A65536").End(xlUp).Row + 1
.Range("A" & m).Value = ComboBox1
.Range("B" & m).Value = ComboBox5
.Range("C" & m).Value = ComboBox3
.Range("D" & m).Value = ComboBox2
.Range("E" & m).Value = TextBox1
.Range("F" & m).Value = ComboBox6
.Range("G" & m).Value = ComboBox4
.R
End With
End If
End Sub
je vous remercie d'avance pour votre collaboration
Bonjour Trifati, bonjour le forum,
Bienvenu dans le forum. Pour du code il est beaucoup lisible quand on utilise les balises "</>"...
Je te propose un code à adapter est à placer dans le classeur 1. Je l'utilise quand je travaille sur deux classeurs et je n'ai jamais eu de problème avec. C'est n'est que le début après tu as juste à spécifier O1 et O2 :
Dim CL1 As Workbook
Dim CL2 As Workbook
Dim O1 As Worksheet
Dim O2 As Worksheet
Set CL1 = ThisWorkbook 'définit la classeur CL1
Set O1 = CL1.Worksheets("Ton_Onglet_du Classeur1") 'définit l'onglet O1
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set CL2 = Workbooks("Ton_Second_Classeur.xlsx") 'définit le classeur CL2 (génère une erreur si ce classeur n'est pas ouvert)
If Err <> 0 Then 'condition : si une erreur a été générée
Err.Clear 'supprime l'erreur
Set CL2 = Application.Workbooks.Open("lien sur mon bureau") 'définit la classeur CL2 (en l'ouvrant)
End If 'fin de la condition
On Error GoTo 0 'supprime la gestion des erreurs
Set O2 = CL2.Worksheets("source") 'définit l'onglet O2