Microsoft 365 ContIf et myRange sur une feuille donnée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

youguybass

XLDnaute Junior
Bonjour
J'ai un pb de fonctionnement de ma fonction CountIf.
Je voudrais être certain que ce contif se fasse bien sur ma Feuil6

Si je fait le myRange avec :
With Feuil6
Set myRange = Range(.Cells(1, 6), .Cells(3000, 6))
End With

Cela ne fonctionne pas, le Msgbox me renvoi la valeur 0

Si je fait le myRange avec
'Set myRange = Range("F1:F3000")
cela fonctionne, une valeur m'est renvoyée!

le code complet:

Dim NbreLigne As Integer, j As Integer
Dim myRange As Range
With Feuil6
'j = 6 'mettre le bon N° de colonne

'Set myRange = Range("F1:F3000")
Set myRange = Range(.Cells(1, 6), .Cells(1500, 6))
End With
'NbreLigne = Application.WorksheetFunction.CountIf(myRange, "OE")

MsgBox NbreLigne

End SUB[/CODE]

merci pour votre retour

Slts
 
Solution
Bonjour Youguybass,
Essayez cela :
Code:
Sub essai()
Dim NbreLigne As Integer, j As Integer
Dim myRange As Range
j = 6
With Feuil6
    Set myRange = .Range(.Cells(1, j), .Cells(1500, j))
End With
NbreLigne = Application.WorksheetFunction.CountIf(myRange, "OE")
MsgBox NbreLigne
End Sub
Je pense qu'il manquait un "." devant le range pour bien référencé la bonne feuille.

NB: Utilisez la balise </> pour le code, c'est plus lisible.
Bonjour Youguybass,
Essayez cela :
Code:
Sub essai()
Dim NbreLigne As Integer, j As Integer
Dim myRange As Range
j = 6
With Feuil6
    Set myRange = .Range(.Cells(1, j), .Cells(1500, j))
End With
NbreLigne = Application.WorksheetFunction.CountIf(myRange, "OE")
MsgBox NbreLigne
End Sub
Je pense qu'il manquait un "." devant le range pour bien référencé la bonne feuille.

NB: Utilisez la balise </> pour le code, c'est plus lisible.
 
Bonjour Youguybass,
Essayez cela :
Code:
Sub essai()
Dim NbreLigne As Integer, j As Integer
Dim myRange As Range
j = 6
With Feuil6
    Set myRange = .Range(.Cells(1, j), .Cells(1500, j))
End With
NbreLigne = Application.WorksheetFunction.CountIf(myRange, "OE")
MsgBox NbreLigne
End Sub
Je pense qu'il manquait un "." devant le range pour bien référencé la bonne feuille.

NB: Utilisez la balise </> pour le code, c'est plus lisible.
Parfait Merci Bcp
Bonne journée à vous

Slts
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
577
Réponses
5
Affichages
700
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
803
Retour