Problème avec CountIf

  • Initiateur de la discussion Initiateur de la discussion cilou
  • Date de début Date de début

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 !

C

cilou

Guest
Bonjour,

J'ai écris une macro en vba pas très compliquée, qui marchait bien avant que je ne rajoute la fonction CountIf... Maintenant j'ai un message d'erreur 1004 à chaque fois. Je ne trouve pas mon erreur...
Voici mon code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim Lne As Integer

For i = 3 To 60
If Worksheets("DUREE_JOUR").Range("A" & i).Value = "Total général" Then
Lne = i - 1
End If
Next i
Worksheets("MOY.DUREE_JOUR").Range("B1").Value = WorksheetFunction.CountIf(Worksheets("DUREE_JOUR").Range(Range("B4"), Range("B" & Lne)), "<>0")
End Sub

Si quelqu'un pouvait m'aider! Merci beaucoup!
 
Re : Problème avec CountIf

Re,

J'ai à nouveau un problème, qui est sans doute tout simple...
Je n'arrive pas à refaire cette macro avec deux numéros de lignes inconnus. Je vous joints ce que j'ai écris:

For j = 2 To 60
If Worksheets("DUREE_JOUR").Range(j, 2).Value = "Total général" Then
Clne = j - 1
End If
Next j
For k = 1 To Lne
Worksheets("MOY.DUREE_JOUR").Range("B2").Value = WorksheetFunction.CountIf(Worksheets("DUREE_JOUR").Range(Cells(2, k), Cells(5, k)), "<>0")
Next k

C'est encore la dernière ligne ligne Worksheets qui bloque.
Merci de m'aider!
 
Re : Problème avec CountIf

à tester :
For j = 2 To 60
If Worksheets("DUREE_JOUR").Cells(j, 2).Value = "Total général" Then Clne = j - 1
Next j
For k = 1 To Lne
Worksheets("MOY.DUREE_JOUR").Range("B2").Value = WorksheetFunction.CountIf(Worksheets("DUREE_JOUR") .Range(Cells(2, k), Cells(5, k)), "<>0")
Next k
 
Re : Problème avec CountIf

Oui je m'en suis apperçu il y a deux minutes qu'il fallait mettre cells au lieu de Range!
J'ai aussi rajouté Worksheets("MOY.DUREE_JOUR"). devant les Cells, ça marchait bien mais j'ai remodifié la macro car je m'étais trompée entre les lignes et les colonnes et maintenant les valeurs retournées ne sont pas cohérentes... Il y en a beaucoup trop en plus... Je vais encore chercher, j'ai du faire une erreur ailleurs! Je reviens sur ce forum si je ne trouve pas toute seule!
Merci pour la réponse!
 
Re : Problème avec CountIf

à retester:

With Worksheets("DUREE_JOUR")
For j = 2 To 60
If .Cells(j, 2).Value = "Total général" Then Clne = j - 1
Next j
For k = 1 To Lne
Woorksheets("MOY.DUREE_JOUR").Range("B2").Value = WorksheetFunction.CountIf(.Range(Cells(2, k), Cells(5, k)), "<>0")
Next k
End With

sinon essaye de mettre un bout de fichier, c'est plus simple pour te répondre avec une solution qui focntionne...
à+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
Retour