Je pense a une erreur de syntaxe

Résolu
jbox -  
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voici un code dans le quel il doit y avoir une erreur de syntaxe

 For ligne = Worksheets("base").Range("C1048576").End(xlUp).Row To 275 Step -1
    For colonne = 2 To Worksheets("tirage").Range("XFD1").End(xlToLeft).Column + 1
        ActiveCell.FormulaCells(3, colonne) = "=COUNTIF(base!cells(ligne,5:cells(ligne,9),cells (3,1))"
        ActiveCell.FormulaCells(3,colonne) = "=COUNTIF(base!cells(ligne,10:cells(ligne,11),cells (54,1))"
    Next colonne
Next ligne

peut être pouvez vous m'aider

Merci d'avance car la je bloque



3 réponses

jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
petite precision:
mes boucle font ce que je souhaite le probleme se situe sur les formules.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

1- Pouvez nous nous donner les formules à inscrire comme elles seraient écrites directement dans la feuille ?

2- Qu'elle est l'erreur rencontrée avec ce code?
0
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
la formule finale dans la feuille serait:
=NB.SI(base!$E$277:$I$277;$A3) en B3
=NB.SI(base!$E$276:$I$276;$A3) en C3

les $ sont obligatoire car j'ai besoin de faire un recopie vers le bas une fois la macro terminé

Le nombre de ligne est variable donc le nombre de colonne aussi

erreur rencontré est: propriété ou méthode non gérée par cet objet
sous Visual Basic pour Excel

voici mon code qui ne fonctionne toujour pas après divers essai

For ligne = Worksheets("base").Range("C1048576").End(xlUp).Row To 275 Step -1
    For colonne = 2 To Worksheets("tirage").Range("XFD1").End(xlToLeft).Column + 1
    
    'ActiveCell.FormulaCells(3, colonne) = "=COUNTIF(base!cells(ligne,5):cells(ligne,9),cells (3,1))"
    'ActiveCell.FormulaCells (3,colonne) = "=COUNTIF(base!cells(ligne,10):cells(ligne,11),cells (54,1))"
    ActiveCell.FormulaR3C [" & colonne & "] = "=COUNTIF(base!R[" & ligne & "]C5:R[" & ligne & "]C9,RC[-2])"
    ' ActiveCell.FormulaR1C1 = "=COUNTIF(base!R[213]C:R[213]C[4],RC[-2])"
    Next colonne
    Next ligne
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Alors j'avoues ne pas comprendre ta double boucle...
Tu ne travailles que sur la cellule active (ActiveCell), mais tu modifies x fois la formule en changeant les variables qui la contiennent...

Si tu veux en B3 la formule =NB.SI(base!$E$277:$I$277;$A3), utilises le code :
Cells(3, 2).FormulaR1C1 = "=COUNTIF(base!R277C5:R277C9,RC1)"
0
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
mais boucle me serve a passé en colonne c et inscrire la formule suivante
Cells(3, 3).FormulaR1C1 = "=COUNTIF(base!R276C5:R276C9,RC1)"
doux la boucle
0
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
et ainsi de suite
0
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
je pense donc a
Cells(3, colonne).FormulaR1C1 = "=COUNTIF(base!R" & ligne & "C5:R" & ligne & "C9,RC1)"
0
jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
le texte suivant ne comporte plus d'erreur d'exécution merci
    For ligne = Worksheets("base").Range("C1048576").End(xlUp).Row To 2 Step -1
For colonne = 2 To Worksheets("tirage").Range("XFD1").End(xlToLeft).Column + 1

Cells(3, colonne).FormulaR1C1 = "=COUNTIF(base!R" & ligne & "C5:R" & ligne & "C9,RC1)"

Next colonne
Next ligne

mais la boucle ligne ne tourne pas ce qui fait qu'il me donne la meme formule dans toutes les colonnes

si j'inverse les boucle c'est colonne qui ne tourne plus
0