Erreur de syntaxe

Bonjour j'ai une petit erreur de syntaxe que je ne trouve pas :/

ici i=2 avec une boucle

Sheets("Data").Cells(i, 3) = WorksheetFunction.CountIf(Sheets("Feuil2").Range(Cells(14, i), Cells(56, i)), "NC")

erreur défini par l'application ou par l'objet

Bonjour,

Ta variable i est bien définie ?

Dim i as integer

ou as Long...

bonjour,

Ton instruction fonctionne si feuil2 est sélectionnée, elle donne une erreur si une autre feuille est sélectionnée, car la syntaxe de ton instruction range n'est pas correcte.

essaie ceci,

    With Sheets("feuil2")
        Sheets("Data").Cells(i, 3) = WorksheetFunction.CountIf(Range(.Cells(14, i), .Cells(56, i)), "NC")
    End With

Bonjour,

voici le code pour que ca soit plus explicite excusez moi j'aurai du le mettre plus tot

Sub Macro3()
Dim x, y, i, col
' Macro3 Macro
x = 1
y = 0
i = 2
With Sheets("Feuil1")
Do While i < .Range("A65535").End(xlUp).Row + 1
    Cells(i, 2).Select
    ActiveCell.FormulaR1C1 = "=Feuil2!R[" & x & "]C[" & y & "]"
    Sheets("Data").Cells(i, 3) = WorksheetFunction.CountIf(Sheets("Feuil2").Range(Cells(14, i), Cells(56, i)), "NC")
    if Sheets("Feuil2").cells(
  x = x - 1
  y = y + 1
  i = i + 1
Loop
End With
End Sub

j'ai un autre problème de syntaxe

une incompatibilité de type 13, avec un NOM ca passe mais si je met des "Or" ca ne fonctionne pas ...

Sub test()
Dim i%, x%
For i = 2 To 13
For x = 62 To 109
If InStr(1, Sheets("Feuil2").Cells(x, i), "CARLIER" Or "MOREAU" Or "WATELLE" Or "DELATTRE", vbTextCompare) <> 0 Then
MsgBox Sheets("Feuil2").Cells(x, i) & " ligne " & x & " colonne " & i
End If
Next x
Next i
End Sub

Bonjour,

pour ton premier problème, je confirme ma proposition

 With Sheets("feuil2")
        Sheets("Data").Cells(i, 3) = WorksheetFunction.CountIf(Range(.Cells(14, i), .Cells(56, i)), "NC")
    End With

ou

 Sheets("Data").Cells(i, 3) = WorksheetFunction.CountIf(Range(Sheets("feuil2").Cells(14, i),Sheets("feuil2") .Cells(56, i)), "NC")

pour ton second problème, tu ne peux pas avoir d'opérateur logique dans l'instruction InStr, tu dois répéter tes instructions instr et les lier par or

donc au lieu de

If InStr(1, Sheets("Feuil2").Cells(x, i), "CARLIER" Or "MOREAU" Or "WATELLE" Or "DELATTRE", vbTextCompare) <> 0 

mettre

If InStr(1, Sheets("Feuil2").Cells(x, i), "CARLIER", vbTextCompare) <> 0 or  InStr(1, Sheets("Feuil2").Cells(x, i),"MOREAU" , vbTextCompare) <> 0 or ... then 

Merci

Rechercher des sujets similaires à "erreur syntaxe"