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