Comboboxlist et enregistrer vers un autre classeur
Bonjour chers développeurs
SVP , j'ai une question
j'ai réalisé une application en VBA en liant plusieurs feuilles , et maintenant je vois que ce n'est pas la bonne manière ,
je voulais séparer les feuilles en utilisant deux classeurs Excel .
changements à effectuer :
j'ai une List comobox dans la feuil1 du classeur1 dont la source maintenant je veux qu'elle récupère la colonne de la feuille 2 Tableau1[zones] du classeur2 et non pas du même classeur comme je l'ai actuellement
Private Sub UserForm_Initialize()
Set O = Sheets("Feuil2") 'la feuille du classeur 2
Me.ComboBox1.List = Range("Tableau1[zones]").Value
ComboBox1.Font.Size = 13
End Sub
, et j'ai un bouton Enregistrer que je veux enregistrer le résultat de la feuil1 du classeur 1 vers la Feuil2 du classeur 2 aussi
voici le code :
Sub Enregistrer_Prod()
'Déclaration des variables
Dim c As Range, l As Range
Dim mois As String, zone As String
mois = Sheets("Feuil1").Range("B9") ' est la cellule où est affiché le mois dans la feuille 1 classeur 1
zone = Sheets("Feuil1").Range("B5") ' est la cellule où est affiché le nom de la zone dans la feuille 1 classeur1
If Range("B5") = "" Or Range("nbval1SO").Value + Range("nbval1SN").Value + Range("nbval1SNA").Value <> 5 Or Range("nbval2SO").Value + Range("nbval2SN").Value + Range("nbval2SNA").Value <> 6 Or Range("nbval3SO").Value + Range("nbval3SN").Value + Range("nbval3SNA").Value <> 6 Or Range("nbval4SO").Value + Range("nbval4SN").Value + Range("nbval4SNA").Value <> 6 Or Range("nbval5SO").Value + Range("nbval5SN").Value + Range("nbval5SNA").Value <> 6 Then
MsgBox ("Vous n'avez pas saisi toutes les données ! ")
Else
Set c = Sheets("Feuil2").Range("TblmoisGlobal").Find(what:=mois, LookIn:=xlValues, LookAt:=xlWhole) '"TblmoisGlobal" est la ligne des mois que je veux dans la feuille 2 du classeur 2
If c Is Nothing Then
MsgBox ("mois " & mois & "introuvable")
Exit Sub
End If
Set l = Sheets("Feuil2").Range("Tableau1[zones]").Find(what:=zone, LookIn:=xlValues, LookAt:=xlWhole)'classeur 2
If l Is Nothing Then
MsgBox ("zone " & zone & "introuvable") ' est la colonne des noms des zones que je veux dans la feuille2 classeur2
Exit Sub
End If
Sheets("Feuil2").Cells(l.Row, c.Column) = Sheets("Feuil1").Range("Scorefinal") ' est la cellule du résultat d'audit checklist prod
Sheets("Feuil2").Cells(l.Row, c.Column).NumberFormat = "0%"
end sub
Quels sont les changements à effecuer ?
je veux que la feuille du classeur 2 "Feuil2" s'actualise automatiquement même si le classeur est fermé
Merci beaucoup