Pbm remplissage feuille excel via userform
Résolu
JustineK
-
JustineK -
JustineK -
Bonjour,
Voici ma macro sur VBA (Excel 2010)
Mon problème est que, lorsque que j'exécute la macro (je sélectionne une valeur dans la combobox de ma userform "ActiviteNewMEPComboBox" puis j'entre une nature de MEP), mais en cliquant sur OK seule la nature de MEP s'ajoute à la suite de la liste existante...
Je n'arrive à voir d'où vient le problème...
J'espère avoir été claire ...
Je vous remercie par avance de votre aide :-)
Bon après-midi !
Voici ma macro sur VBA (Excel 2010)
Sub AjoutMEP() 'Ajout de la mise en production dans la feuille Suivi des MEP NewActiviteMEP = "" NewDomainAct = "" NewNomNatureMEP = "" AjouterMEP.ActiviteNewMEPComboBox.Clear AjouterMEP.AjoutNatureMEP.Value = "" Dim i As Integer 'Remplir la combobox Activité dans la macro des MEP i = 0 While Not Worksheets("Activités").Cells(6 + i, 1).Value = "" AjouterMEP.ActiviteNewMEPComboBox.AddItem Worksheets("Activités").Cells(6 + i, 1).Value i = i + 1 Wend AjouterMEP.Show 'Ajout de l'activité dans la feuille Suivi des MEP Ligne = 16 While Sheets("Suivi des MEP").Range("A" & Ligne).Value <> "" Ligne = Ligne + 1 Wend Sheets("Suivi des MEP").Range("A" & Ligne).Value = NewActiviteMEP Sheets("Suivi des MEP").Range("B" & Ligne).Value = NewDomainAct Sheets("Suivi des MEP").Range("C" & Ligne).Value = NewNomNatureMEP With Sheets("Suivi des MEP").Range("A" & Ligne & ":" & "C" & Ligne) .Cells.HorizontalAlignment = xlLeft .Cells.Borders(xlDiagonalDown).LineStyle = xlNone .Cells.Borders(xlDiagonalUp).LineStyle = xlNone .Cells.Borders(xlEdgeLeft).LineStyle = xlContinuous .Cells.Borders(xlEdgeTop).LineStyle = xlContinuous .Cells.Borders(xlEdgeBottom).LineStyle = xlContinuous .Cells.Borders(xlEdgeRight).LineStyle = xlContinuous .Cells.Borders(xlInsideVertical).LineStyle = xlContinuous .Cells.Borders(xlInsideHorizontal).LineStyle = xlContinuous .Cells.Font.Name = "Arial" .Cells.Font.Size = 10 End With End Sub
Mon problème est que, lorsque que j'exécute la macro (je sélectionne une valeur dans la combobox de ma userform "ActiviteNewMEPComboBox" puis j'entre une nature de MEP), mais en cliquant sur OK seule la nature de MEP s'ajoute à la suite de la liste existante...
Je n'arrive à voir d'où vient le problème...
J'espère avoir été claire ...
Je vous remercie par avance de votre aide :-)
Bon après-midi !
A voir également:
- Pbm remplissage feuille excel via userform
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
- Déplacer colonne excel - Guide
3 réponses
Bonjour,
Le problème ne semble pas être dans cette macro.
Ces 3 variables sont elles globales ?
NewActiviteMEP , NewDomainAct , NewNomNatureMEP
Ou sont-elles initialisées ?
Je suppose dans la validation au moment de la fermenture de l'UserForm mais nous ne pouvons pas le voir
A+
Le problème ne semble pas être dans cette macro.
Ces 3 variables sont elles globales ?
NewActiviteMEP , NewDomainAct , NewNomNatureMEP
Ou sont-elles initialisées ?
Je suppose dans la validation au moment de la fermenture de l'UserForm mais nous ne pouvons pas le voir
A+
Re bonjour,
Je viens de voir sur une autre discussion cette macro de validation :
Si c'est bien celle la qui initialise la variable NewActiviteMEP alors il y a une ligne de cette macro qui est inutile et contradictoire c'est celle là :
ajouterMEP.ActiviteNewMEPComboBox.Value = NewActiviteMEP
Je pense qu'il faut la supprimer car elle remet la combo à ""
A tester
Cordialement,
Je viens de voir sur une autre discussion cette macro de validation :
Private Sub AjoutMEP_Click() If (ajouterMEP.ActiviteNewMEPComboBox.Value <> "") And (ajouterMEP.AjoutNatureMEP.Value <> "") Then ajouterMEP.ActiviteNewMEPComboBox.Value = NewActiviteMEP Ligne = 3 '-- première ligne de la liste des activités While Sheets("Activités").Range("A" & Ligne).Value <> ajouterMEP.ActiviteNewMEPComboBox.Value Ligne = Ligne + 1 Wend NewActiviteMEP = ajouterMEP.ActiviteNewMEPComboBox.Value NewDomainAct = Sheets("Activités").Range("C" & Ligne).Value NewNomNatureMEP = ajouterMEP.AjoutNatureMEP.Value ajouterMEP.Hide Else reponse = MsgBox("Veuillez renseigner une activité.", vbOKOnly, "Valeur manquante") End If End Sub
Si c'est bien celle la qui initialise la variable NewActiviteMEP alors il y a une ligne de cette macro qui est inutile et contradictoire c'est celle là :
ajouterMEP.ActiviteNewMEPComboBox.Value = NewActiviteMEP
Je pense qu'il faut la supprimer car elle remet la combo à ""
A tester
Cordialement,