Erreur 1004

Le
Guy85
Bonjour,
Quand je suis en groupe de travail et que je déplace ou copie , j'ai le
message suivant, je suis obligé de cliquer sur "Fin" autant de fois que j'ai
de feuilles en groupe de travail.

Erreur d'exécution 1004
La méthode 'Intersect' de l'objet'_Global' à échoué.

Merci de votre aide

Cordialement
Guy
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22137881
Bonjour,

Exemple que tu peux utiliser pour déplacer plus d'une feuille
dans la même commande :

Sheets(Array("sheet1", "sheet4")).Move after:=Worksheets(Sheets.Count)

Tu adaptes le nom des feuilles.




"Guy85" #
Bonjour,
Quand je suis en groupe de travail et que je déplace ou copie , j'ai le
message suivant, je suis obligé de cliquer sur "Fin" autant de fois que j'ai
de feuilles en groupe de travail.

Erreur d'exécution 1004
La méthode 'Intersect' de l'objet'_Global' à échoué.

Merci de votre aide

Cordialement
Guy
Guy85
Le #22139441
Bonjour,
Ce n'est pas le problème de déplacer des feuilles.
C'est de déplacer une ou des cellules dans une feuille et si c'est dans un
groupe de travail, je suis obligé de cliquer autant de fois sur "Fin" pour
pouvoir re travailler.
Dans "ThisWorkbook" j'ai le code suivant :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Or Intersect(Target, Range("B3:D80")) Is Nothing Then
Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Interior.ColorIndex =
xlNone
On Error GoTo Fin

If Cells(Target.Row, 5) = "Alimentation" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 36
Exit Sub
End If

If Cells(Target.Row, 2) = "Leroy Merlin" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 43
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
1
Exit Sub
End If

etc........etc.....

Fin:
End Sub

Peut être que cela viens du code ?

Cordialement
Guy



"michdenis"
Bonjour,

Exemple que tu peux utiliser pour déplacer plus d'une feuille
dans la même commande :

Sheets(Array("sheet1", "sheet4")).Move after:=Worksheets(Sheets.Count)

Tu adaptes le nom des feuilles.




"Guy85" discussion :
#
Bonjour,
Quand je suis en groupe de travail et que je déplace ou copie , j'ai le
message suivant, je suis obligé de cliquer sur "Fin" autant de fois que
j'ai
de feuilles en groupe de travail.

Erreur d'exécution 1004
La méthode 'Intersect' de l'objet'_Global' à échoué.

Merci de votre aide

Cordialement
Guy

michdenis
Le #22141631
| C'est de déplacer une ou des cellules dans une feuille
***Aucune idée de ce que tu veux dire.

Au lieu d'expliquer de me donner le code qui ne fonctionne pas,
pourquoi ne pas décrire précisément ce que tu veux faire, mais que
tu ne réussis pas à faire.

Tu peux publier toutes les procédures que tu voudras, si aucune d'elles
ne fait ce que tu désires, comment je puis déduire ce que tu veux faire.

Si tu veux inclure dans ta question le code que tu utilises, ce n'est pas un
problème, mais la publication du code ne peut pas remplacer l'explication
de tes attentes d'une procédure qui fonctionnerait.
Guy85
Le #22141821
Bonjour,
Je vais essayer d'être précis.
Dans mon fichier, je veux travailler en groupe de travail.
Je sélectionne par exemple 3 onglets.
Sur une feuille, je sélectionne les cellules K3:L7.
Je les copies en M3.
Là apparait mon message en surlignant en jaune la ligne 2, c'est à dire :
If Target.Count > 1 Or Intersect(Target, Range("B3:D80")) Is Nothing Then
Exit Sub.
Que je copie ou efface ou déplace quoique ce soit (une ou plusieurs cellule)
en groupe de travail, j'ai le même message.

"michdenis"

| C'est de déplacer une ou des cellules dans une feuille
***Aucune idée de ce que tu veux dire.

Au lieu d'expliquer de me donner le code qui ne fonctionne pas,
pourquoi ne pas décrire précisément ce que tu veux faire, mais que
tu ne réussis pas à faire.

Tu peux publier toutes les procédures que tu voudras, si aucune d'elles
ne fait ce que tu désires, comment je puis déduire ce que tu veux faire.

Si tu veux inclure dans ta question le code que tu utilises, ce n'est pas
un
problème, mais la publication du code ne peut pas remplacer l'explication
de tes attentes d'une procédure qui fonctionnerait.



michdenis
Le #22143851
Tu as oublié de mentionner que l'événement utilisé était dans le ThisWorkbook
probablement celui-ci.

Je te propose de modifier ta procédure comme ceci:
ATTENTION : les paramètres Sh et Target s'adressent qu'à une feuille
et non pas à plusieurs feuilles lorsque plusieurs d'entre elles sont
sélectionnées.

'------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each Sh In Worksheets
If Sh.Range(Target.Address).Count > 1 Or _
Intersect(Sh.Range(Target.Address), _
Sh.Range("B3:D80")) Is Nothing Then
Exit Sub
End If
Next
End Sub
'------------------------------------



"Guy85" eb#KQQ#
Bonjour,
Je vais essayer d'être précis.
Dans mon fichier, je veux travailler en groupe de travail.
Je sélectionne par exemple 3 onglets.
Sur une feuille, je sélectionne les cellules K3:L7.
Je les copies en M3.
Là apparait mon message en surlignant en jaune la ligne 2, c'est à dire :
If Target.Count > 1 Or Intersect(Target, Range("B3:D80")) Is Nothing Then
Exit Sub.
Que je copie ou efface ou déplace quoique ce soit (une ou plusieurs cellule)
en groupe de travail, j'ai le même message.

"michdenis"

| C'est de déplacer une ou des cellules dans une feuille
***Aucune idée de ce que tu veux dire.

Au lieu d'expliquer de me donner le code qui ne fonctionne pas,
pourquoi ne pas décrire précisément ce que tu veux faire, mais que
tu ne réussis pas à faire.

Tu peux publier toutes les procédures que tu voudras, si aucune d'elles
ne fait ce que tu désires, comment je puis déduire ce que tu veux faire.

Si tu veux inclure dans ta question le code que tu utilises, ce n'est pas
un
problème, mais la publication du code ne peut pas remplacer l'explication
de tes attentes d'une procédure qui fonctionnerait.



Guy85
Le #22144491
Bonjour,
Tu as oublié de mentionner que l'événement utilisé était dans le
ThisWorkbook
probablement celui-ci.



Je l'avais mis dans le message précédent.

Merci de ton aide.
Ça a l'air de fonctionner.
Même avec en groupe de travail ?


"michdenis"
Tu as oublié de mentionner que l'événement utilisé était dans le
ThisWorkbook
probablement celui-ci.

Je te propose de modifier ta procédure comme ceci:
ATTENTION : les paramètres Sh et Target s'adressent qu'à une feuille
et non pas à plusieurs feuilles lorsque plusieurs d'entre elles sont
sélectionnées.

'------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
For Each Sh In Worksheets
If Sh.Range(Target.Address).Count > 1 Or _
Intersect(Sh.Range(Target.Address), _
Sh.Range("B3:D80")) Is Nothing Then
Exit Sub
End If
Next
End Sub
'------------------------------------



"Guy85" discussion :
eb#KQQ#
Bonjour,
Je vais essayer d'être précis.
Dans mon fichier, je veux travailler en groupe de travail.
Je sélectionne par exemple 3 onglets.
Sur une feuille, je sélectionne les cellules K3:L7.
Je les copies en M3.
Là apparait mon message en surlignant en jaune la ligne 2, c'est à dire :
If Target.Count > 1 Or Intersect(Target, Range("B3:D80")) Is Nothing Then
Exit Sub.
Que je copie ou efface ou déplace quoique ce soit (une ou plusieurs
cellule)
en groupe de travail, j'ai le même message.

"michdenis"

| C'est de déplacer une ou des cellules dans une feuille
***Aucune idée de ce que tu veux dire.

Au lieu d'expliquer de me donner le code qui ne fonctionne pas,
pourquoi ne pas décrire précisément ce que tu veux faire, mais que
tu ne réussis pas à faire.

Tu peux publier toutes les procédures que tu voudras, si aucune d'elles
ne fait ce que tu désires, comment je puis déduire ce que tu veux faire.

Si tu veux inclure dans ta question le code que tu utilises, ce n'est pas
un
problème, mais la publication du code ne peut pas remplacer l'explication
de tes attentes d'une procédure qui fonctionnerait.






Publicité
Poster une réponse
Anonyme