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 !

Olyxier

XLDnaute Occasionnel
Bonjour le forum
pourquoi ce code declenche le debogueur
merci à vous

If IsEmpty("activesheet").Range("AB59") Then
("activesheet").Range("AC59") = 0
End If
 
Re : debogueur

MERCI a vous deux
mais le debogueur declanche toujours avec le message qualificateur incorrecte
je crois que IsEmpty est le probleme:
de meme si je veus utiliser le code sur 3 case AB59.AB60.AB61
CECI peut il marcher Range ("AB59:AB61")
Merci de votre aide precieuse
 
Re : debogueur

MERCI beaucoup pierrot cela fonctionne mais je me permet de reposer ma 2e question si je veus utiliser le code sur AB59..AB60..AB61
POURQUOI ce code ne marche pas Merci

If IsEmpty(ActiveSheet.Range("AB59:AB61").Value) Then
ActiveSheet.Range("AB59:AB61") = 0
End If
 
Re : debogueur

Bonjour Olyxier, Dull, Pierrot93,

Pour répondre à ta 2ème question, IsEmpty() ne fonctionne pas sur une plage de cellules, il conviendrait de faire :
Code:
[SIZE=2]    [COLOR=NAVY]With[/COLOR] ActiveSheet
        [COLOR=NAVY]If[/COLOR] IsEmpty(.Range("AB59")) And IsEmpty(.Range("AB60")) And IsEmpty(.Range("AB61")) [COLOR=NAVY]Then[/COLOR]
            .Range("AB59:AB61") = 0
        [COLOR=NAVY]End If
    End With[/COLOR][/SIZE]
Mais tu peux simplifier en faisant par exemple :
Code:
[SIZE=2]    [COLOR=NAVY]If[/COLOR] Application.CountA(ActiveSheet.Range("AB59:AB61")) = 0 [COLOR=NAVY]Then[/COLOR]
        .Range("AB59:AB61") = 0
    [COLOR=NAVY]End If[/COLOR][/SIZE]
Cordialement,
 
Re : debogueur

ca marche mais le truc est que
si AB59 = 1 AC59 = 1 . si AB60 = 1 AC60 = 1. si AB61 = 1 AC61 = 1
MAIS
si AB59 = 1 AC59 = 1 . si AB60 = Rien AC60 = 0. si AB61 = 1 AC61 = 1
OU
si AB59 = 1 AC59 = 1 . si AB60 = 1 AC60 = 1. si AB61 = Rien AC61 = 0

MERCI peut etre pas tres clair
 
Re : debogueur

Bon, eh bien, tu te poses des problèmes là où tu ne devrais pas en avoir... il te suffit donc de reposer 3 fois le code que tu présentais plus haut (cellule par cellule)...

Pour résumer et faire un peu plus propre, tu peux donc faire comme suit :
Code:
[SIZE=2]   [COLOR=NAVY]With[/COLOR] ActiveSheet
        [COLOR=NAVY]If[/COLOR] IsEmpty(.Range("AB59")) [COLOR=NAVY]Then[/COLOR] .Range("AB59") = 0
        [COLOR=NAVY]If[/COLOR] IsEmpty(.Range("AB60")) [COLOR=NAVY]Then[/COLOR] .Range("AB60") = 0
        [COLOR=NAVY]If[/COLOR] IsEmpty(.Range("AB61")) [COLOR=NAVY]Then[/COLOR] .Range("AB61") = 0
    [COLOR=NAVY]End With[/COLOR]
[/SIZE]
Cordialement,
 
- 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
7
Affichages
176
Retour