Erreur 1004 - Variable contenant un espace dans .formula

Bonjour !

Pour les besoins d'un projet, je dois remplir des cellules avec une formule qui varie à l'aide de variable dans VBA.

Cependant, lorsque j'assigne une formule à la cellule et que celle-ci contient une variable String contenant un espace, Excel me renvoie une erreur 1004

Ci dessous, le code en question

Dim Matricule As String, Autocode As String, Trouve As Range, Cours As String, nb_cours As Integer, Compteur As Integer

    Matricule = Left(comboEtudiant.Value, 8)

    Set Trouve = Worksheets("Groupes").Cells.Find(Matricule, LookIn:=xlValues, Lookat:=xlWhole)

    Autocode = Trouve.Offset(0, 4).Value
    Worksheets("Temp").Cells.Clear
    Worksheets("Temp").Range("A1") = "Cours"
    Worksheets("Temp").Range("B1") = "Pourcentage"
    Worksheets("Temp").Range("C1") = "Relevés"
    nb_cours = Worksheets("Paramètres").Range("C5").Value
    Compteur = 1

    For i = 1 To nb_cours

            Cours = Worksheets("Liste des cours").Cells(i + 1, 2)

            If Sheets(Cours).Range("A2").Value <> "" Then
                Compteur = Compteur + 1
                Worksheets("Temp").Cells(Compteur, 1).Value = Cours
                Worksheets("Temp").Cells(Compteur, 2).FormulaLocal = "=NB.SI.ENS(" & Cours & "[Auto-code];""" & Autocode & """;" & Cours & "[Etat];""1"")/NB.SI(" & Cours & ";""" & Autocode & """)"
                Worksheets("Temp").Cells(Compteur, 3).FormulaLocal = "=CONCATENER(""("";NB.SI.ENS(" & Cours & "[Auto-code];""" & Autocode & """;" & Cours & "[Etat];""1"");""/"";NB.SI(" & Cours & ";""" & Autocode & """);"")"")"
            End If

    Next

Et les lignes qui coincent :

Worksheets("Temp").Cells(Compteur, 2).FormulaLocal = "=NB.SI.ENS(" & Cours & "[Auto-code];""" & Autocode & """;" & Cours & "[Etat];""1"")/NB.SI(" & Cours & ";""" & Autocode & """)"
                Worksheets("Temp").Cells(Compteur, 3).FormulaLocal = "=CONCATENER(""("";NB.SI.ENS(" & Cours & "[Auto-code];""" & Autocode & """;" & Cours & "[Etat];""1"");""/"";NB.SI(" & Cours & ";""" & Autocode & """);"")"")"

Bonjour,

Avant d'attaquer le coeur de ton problème, tu pourrais alléger ton code en utilisant une structure With Worksheets("Temp")...End With, ce qui t'éviterai une répétition systématique dans le code.

Concernant ton soucis, j'imagine que c'est par ce que pour des formules Excel faisant référence à du texte, on utilise les guillemets (exemple : =NB.SI(A:A;"Texte à compter")).

Comme dans VBA tu écris déjà ta formule Excel sous forme de texte, tu utilises déjà des guillemets. La parade est d'en ajouter 4 successif pour qu'il en reste 1 dans la formule finale, ou de mettre & Chr(34) & de part et d'autre de tes variables.

Redis moi si cela fonctionne.

Salut !

Merci beaucoup, ça a bien fonctionné !

J'oubliais un guillement avant mes variables ^^

Bonne soirée et un grand merci

Rechercher des sujets similaires à "erreur 1004 variable contenant espace formula"