Excel Erreur d'execution 1004

Résolu/Fermé
Franzoi3 - Modifié par Franzoi3 le 16/02/2012 à 15:33
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 16 févr. 2012 à 16:36
Bonjour,

J'ai un problème d'execution sur une macro VBA.

Quand j'execute pas à pas tout fonctionne normalement mais si je fais une execution normale, l'erreur apparait.

Voici une partie de mon code :


For q = 0 To DureeAO - 1
While Sheets("Planing").Cells(19, j + p + q) <> ""
p = p + 1
Wend

Set comm = Sheets("Planing").Cells(n, j + q + p)

comm.AddComment
comm.Comment.Visible = False
comm.Comment.Text Text:=ville
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10066431
End With

Next



Le problème provient de l'ajout du commentaire. j'ai essayer de le passer en Range mais ça ne marche pas non plus/.


Pourriez-vous m'éclaire svp.

Merci d'avance
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 16/02/2012 à 16:25
Bonjour

lorsque tu as une erreur indique la ligne fautive : cela simplifie le boulot


comm.AddComment 
comm.Comment.Visible = False 
comm.Comment.Text Text:=ville 
With comm.Interior 
     .Pattern = xlSolid 
     .PatternColorIndex = xlAutomatic 
     .Color = 10066431 
End With

et tu as intér^t (pour faciliter la maintenance) d'écrire avant comm.addcomment
comm.clearcomments et de grouper les propriétés et/ou mméthodes dans un "bloc " (With... End with)

code optimisé
With comm 
     .ClearComments 
     .AddComment 
     .Comment.Visible = False 
     .Comment.Text Text:=ville 
      .Interior.Color = 10066431 
 End With


Michel
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 févr. 2012 à 16:29
Bonjour michel_m

merci pour lui
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 16/02/2012 à 16:36
bonjour F89...

pat'kwa :o)

mais j'ai l'impression qu'il se fout pas de ce que je lui ai proposé
0
merci bcp michel_m

je passe en résolu
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 févr. 2012 à 15:59
Bonjour,
Set comm = Sheets("Planing").Cells(n, j + q + p)


n est defini ou? parce que si n=0 alors erreur 1004

Bonne suite
0
Bonjour,

Merci de t'interesser à mon pb.

n est toujours superieur à 0.

voilà mon code en entier

Sub test()
Range("B7:XFD10").Select
Range("B7:XFD10").Clear
Range("C5").Select
i = 5

While Sheets("Travail").Cells(i, 2) <> ""
DateIni = Sheets("Travail").Cells(i, 3)
DureeAO = Sheets("Travail").Cells(i, 5) * 2
ville = Sheets("Travail").Cells(i, 2)

For j = 2 To 16000
DatePlaning = Sheets("Planing").Cells(3, j)

If DatePlaning = DateIni Then
l = 0
For k = j To DureeAO + j
If Sheets("Planing").Cells(19, k + l) <> "" Then
l = l + 1
k = k - 1
End If
Next

'Dim TabDate() As Tabs

'ReDim TabDate(DureeCom + l)
n = 7
For m = j To DureeAO + j + l
If Sheets("Planing").Cells(n, m) <> "" Then
n = n + 1
End If
Next
p = 0
For q = 0 To DureeAO - 1
While Sheets("Planing").Cells(19, j + p + q) <> ""
p = p + 1
Wend

Set comm = Sheets("Planing").Cells(n, j + q + p)
comm.AddComment
comm.Comment.Visible = False
comm.Comment.Text Text:=ville

With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10066431
End With

Next

Exit For
End If

Next
i = i + 1
Wend



End Sub

Je ne comprend vraiment pas pourquoi il ne marche pas.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 févr. 2012 à 16:12
Re,
Precedemnet ,J'ai teste la partie ajout commentaire, c'est Ok. Je regarde le code en entier.

A+
0
Merci bcp
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 févr. 2012 à 16:21
Re,
Vous enlevez les commentaires avant de relancer votre macro? Parce que la aussi erreur 1004

A+
0
oui au tout début j'utilise la fonction clear. Ce qui est bizard c'est que pas à pas tout fonctionne mais si je compile tout ça m'envoie le message d'erreur
0
Merci beaucoup à vous tous. Ca marche parfaitement.

Par contre comment je peux vérifier si il y a un commentaire?

Je vous remercie grandement, vous m'enlevez une belle épine du pied
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
16 févr. 2012 à 16:36
Par contre comment je peux vérifier si il y a un commentaire?

Peut ^tre en daignant lire le code que je t'ai proposé....
0