Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur 1004 : impossible de lire la propriété countifs de la classe WorksheetFunction

boyz

XLDnaute Nouveau
Bonjour,

Lorsque j'exécute le code ci dessous, j'ai le message suivant qui apparait : Erreur 1004 : impossible de lire la propriété countifs de la classe WorksheetFunction. Quelqu'un à t'il une idée de comment procéder pour que cela fonctionne?

Vous pouvez trouver en pièce jointe mon fichier exemple.

Remarque : les range("XXX") sont les noms de mes colonnes.

Merci à vous.


Code:
Private Sub UserForm_Initialize()
Range("A2").Select
X = ActiveCell.Row

With Feuil1
Set plage = Union(.Range("EPI_Lunettes")(X), .Range("EPI_Chaussure")(X), .Range("EPI_Gants")(X), .Range("EPI_Visière")(X), .Range("EPI_Masque_aéro")(X), .Range("EPI_Masque_gaz")(X), .Range("EPI_Vêtement")(X))


For i = 1 To 7
If WorksheetFunction.CountIfs(plage, "X") = i Then
With Fproduit
cadre5.Width = 348 - i * 65
End With
End If

Next i
End With
End Sub
 

Pièces jointes

  • exemple v0.xlsm
    53.6 KB · Affichages: 59
  • exemple v0.xlsm
    53.6 KB · Affichages: 68

Pierrot93

XLDnaute Barbatruc
Re : Erreur 1004 : impossible de lire la propriété countifs de la classe WorksheetFun

Bonjour,

enlève peut être le "s" :
Code:
If WorksheetFunction.CountIf(plage, "X") = i Then

bon après midi
@+
 

boyz

XLDnaute Nouveau
Re : Erreur 1004 : impossible de lire la propriété countifs de la classe WorksheetFun

Salut,

Merci de ta réponse effectivement il y avait le S qui traînait mais malheureusement ça ne marche toujours pas :/.
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur 1004 : impossible de lire la propriété countifs de la classe WorksheetFun

Re,

essaye peut être ceci :
Code:
Private Sub UserForm_Initialize()
Dim c As Range
Range("A2").Select
X = ActiveCell.Row

With Feuil1
    Set plage = Union(.Range("EPI_Lunettes")(X), .Range("EPI_Chaussure")(X), .Range("EPI_Gants")(X), .Range("EPI_Visière")(X), .Range("EPI_Masque_aéro")(X), .Range("EPI_Masque_gaz")(X), .Range("EPI_Vêtement")(X))
End With

For Each c In plage
    If c = "X" Then i = i + 1
Next c

If i > 0 Then cadre5.Width = 348 - i * 65

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…