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

  1. 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
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  3. 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
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
    2. 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
    3. jbox91270 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
       
      et ainsi de suite
      0
    4. 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
    5. 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