Urgent- Pbm association de deux variables avec VBA
Fermé
JustineK
-
11 mars 2013 à 19:22
Re-Bonjour,
Je désespère avec VBA... :/
Voici mon code :
Sub affecterProjet()
'Affecter un projet à un consultant dans l'onglet Imputations 2013
ConsultantAffectation = ""
ActiviteAffectation = ""
ActiviteAffectationDomaine = ""
AffectProjet.ConsultantComboBox.Clear
AffectProjet.ActiviteComboBox.Clear
Dim i As Integer
'remplir les combobox consultants et activités
i = 0
While Not Worksheets("Consultants").Cells(3 + i, 1).Value = ""
AffectProjet.ConsultantComboBox.AddItem Worksheets("Consultants").Cells(3 + i, 2).Value & " " & Worksheets("Consultants").Cells(3 + i, 3).Value
i = i + 1
Wend
i = 0
While Not Worksheets("Activités").Cells(6 + i, 1).Value = ""
AffectProjet.ActiviteComboBox.AddItem Worksheets("Activités").Cells(6 + i, 1).Value
i = i + 1
Wend
AffectProjet.Show
If ConsultantAffectation = "" Then
GoTo FinSub
End If
'Ajout du projet dans les lignes d'imputations du consultant
Ligne = 3 'ligne de début du fichier, cette variable (comme toutes les variable des ces modules finissant par "I") est une constante : ne JAMAIS la modifier dans le code, accès en lecture uniquement
While Sheets("Imputations 2013").Range("C" & Ligne).Value <> ConsultantAffectation
Ligne = Ligne + 1
Wend
While Sheets("Imputations 2013").Range("C" & Ligne).Value = ConsultantAffectation
Ligne = Ligne + 1
Wend
AjoutLigne (Ligne - 1)
Sheets("Imputations 2013").Select
Sheets("Imputations 2013").Rows(Ligne & ":" & Ligne).ClearContents
Sheets("Imputations 2013").Range("C" & Ligne).Value = ConsultantAffectation
Sheets("Imputations 2013").Range("D" & Ligne).Value = ActiviteAffectation
Sheets("Imputations 2013").Range("E" & Ligne).Value = ActiviteAffectationDomaine
Cells(1, Ligne).Select
FinSub:
End Sub
Et le code de ma userform :
Private Sub CBAjouter_Click()
If (AffectProjet.ConsultantComboBox.Value <> "") And (AffectProjet.ActiviteComboBox.Value <> "") Then
Ligne = 3 '-- première ligne de la liste des consultants
While Sheets("Consultants").Range("B" & Ligne).Value & " " & Sheets("Consultants").Range("C" & Ligne).Value <> AffectProjet.ConsultantComboBox.Value
Ligne = Ligne + 1
Wend
ConsultantAffectation = Sheets("Consultants").Range("A" & Ligne).Value
ActiviteAffectation = AffectProjet.ActiviteComboBox.Value
ActiviteAffectationDomaine = Sheets("Activités").Range("C" & Ligne).Value
AffectProjet.Hide
Else
reponse = MsgBox("Veuillez renseigner les 2 valeurs.", vbOKOnly, "Valeur manquante")
End If
End Sub
Cette macro est utilisée sur une feuille appelée "Imputations 2013". Elle se remplit avec des macros : une qui ajoute le consultant, et celle ci-dessus qui lui affecte un projet.
Pour affecter un projet la macro va chercher le nom de l'activité dans la feuille "Activités" mais je voudrais également qu'elle ajoute le domaine qui lui est lié (également dans la feuille "Activités" colonne C, mais je ne souhaite pas qu'elle apparaisse dans la combobox activités).
Sachant que pour la feuille activité la première ligne est la ligne 6.
Je ne sais vraiment pas comment faire que la macro vienne ajouter l'activité et le domaine qui y est associé dans la feuille Imputations 2013...
Désolée de balancer tout le code comme ça mais je vois vraiment pas d'ou vient le problème.... J'espère être assez claire !
Et j'espère que vous arriverez à me sauver !! :-)
D'avance merci pour vos retours,
Bonne soirée
Justine
A voir également:
Urgent- Pbm association de deux variables avec VBA