Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro fonctionnant avec une erreur ??

8 réponses
Avatar
Jacquouille
Bonjour
Vu l'urgence et pas de connexion à internet dispo au bureau, j'ai donc du
réinventer la roue du chapitre "Comment effacer des doublons".
Une fois le boulot terminé par la macro, le poste, il m'affiche:
"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A qui ont été triées
préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net

NoSpam_j.thiernesse@skynet.be

8 réponses

Avatar
Nicolas B.
Salut Jacquouille,

Dans le for, il faut aller jusqu'à la ligne 2 (Excel a du mal à trouver la
ligne 0...) :
For i = Range("A65536").End(xlUp).Row To 2 Step -1


A+
--
Nicolas B.


Bonjour
Vu l'urgence et pas de connexion à internet dispo au bureau, j'ai
donc du réinventer la roue du chapitre "Comment effacer des doublons".
Une fois le boulot terminé par la macro, le poste, il m'affiche:
"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A qui ont été
triées préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net




Avatar
Gadget
Normal : au dernier passage dans ta boucle, i vaut 1, donc Range("A" & i-1)
pointe vers une cellule inexistante : A0
Voilà voila
K.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Jacquouille" a écrit dans le message de
news:%23bXH%
Bonjour
Vu l'urgence et pas de connexion à internet dispo au bureau, j'ai donc du
réinventer la roue du chapitre "Comment effacer des doublons".
Une fois le boulot terminé par la macro, le poste, il m'affiche:
"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A qui ont été
triées

préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net






Avatar
Modeste
bonjour Jacky....
au moins 3 problemes !!!!

1- Range("65536") c'est pas une plage
correction : Range("A65536")

2- la borne finale c'est 2 et non 1

3- sinon i-1 = 0 row=0 n'existe pas !!!

For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then

ensuite la macro ne marche que si la plage est triée.

conclusion macro corrigée :

Sub Doublons()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then
Rows(i).Delete
End If
Next
End Sub

;-)))
c'est bien Mon Jacquouille !!!
tu as fait de gros progrès en grand breton , n'est-il
pas ???


-----Message d'origine-----
Bonjour
Vu l'urgence et pas de connexion à internet dispo au
bureau, j'ai donc du

réinventer la roue du chapitre "Comment effacer des
doublons".

Une fois le boulot terminé par la macro, le poste, il
m'affiche:

"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A
qui ont été triées

préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net




.



Avatar
Jacquouille
Bonsoir Nicolas
Bravo
C'est tellement évident .....que je ne l'avais pas vu.
Merci pour cette précision technique
Jacques.

--
Jacquouille conseille : http://www.excelabo.net


"Nicolas B." a écrit dans le message news:

Salut Jacquouille,

Dans le for, il faut aller jusqu'à la ligne 2 (Excel a du mal à trouver la
ligne 0...) :
For i = Range("A65536").End(xlUp).Row To 2 Step -1


A+
--
Nicolas B.


Bonjour
Vu l'urgence et pas de connexion à internet dispo au bureau, j'ai
donc du réinventer la roue du chapitre "Comment effacer des doublons".
Une fois le boulot terminé par la macro, le poste, il m'affiche:
"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A qui ont été
triées préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net








Avatar
Jacquouille
Bonsoir Gadget
merci pour cette évidence tellement grosse que je ne l'avais pas vue.
Si tu pouvais traduire la fin de ton msg (en latin), cela nous aiderait
.... -)
merci
Jacques
--
Jacquouille conseille : http://www.excelabo.net


"Gadget" a écrit dans le message news:
40927201$0$1459$
Normal : au dernier passage dans ta boucle, i vaut 1, donc Range("A" &
i-1)

pointe vers une cellule inexistante : A0
Voilà voila
K.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Jacquouille" a écrit dans le message de
news:%23bXH%
Bonjour
Vu l'urgence et pas de connexion à internet dispo au bureau, j'ai donc
du


réinventer la roue du chapitre "Comment effacer des doublons".
Une fois le boulot terminé par la macro, le poste, il m'affiche:
"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A qui ont été
triées

préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net










Avatar
Jacquouille
Bonsoir Gilbert
Merci pour tes encouragements vis à vis du Grand Breton.
Alors, pour le point 1, tu as raison, mais l'original contenait le A. Ce
n'est qu'à la recopie qu'il est resté dans le clavier, sinon le truc
n'aurait pas tourné.
Point 2, tu as raison, comme dit aux deux premiers dépanneurs (drôlement
plus rapides. Sûrement une question d'âge).
Point 3, découle du 2. Petite précision, la macro fonctionne sans les ()
autour de i-1.
Merci à tous trois pour la bonne esseuplicassillion.
Bon WE à tous

--
Jacquouille conseille : http://www.excelabo.net


"Modeste" a écrit dans le message news:
6ba101c42ec9$95a26a90$
bonjour Jacky....
au moins 3 problemes !!!!

1- Range("65536") c'est pas une plage
correction : Range("A65536")

2- la borne finale c'est 2 et non 1

3- sinon i-1 = 0 row=0 n'existe pas !!!

For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then

ensuite la macro ne marche que si la plage est triée.

conclusion macro corrigée :

Sub Doublons()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then
Rows(i).Delete
End If
Next
End Sub

;-)))
c'est bien Mon Jacquouille !!!
tu as fait de gros progrès en grand breton , n'est-il
pas ???


-----Message d'origine-----
Bonjour
Vu l'urgence et pas de connexion à internet dispo au
bureau, j'ai donc du

réinventer la roue du chapitre "Comment effacer des
doublons".

Une fois le boulot terminé par la macro, le poste, il
m'affiche:

"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A
qui ont été triées

préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net




.



Avatar
GD
"Jacquouille" a écrit
(drôlement plus rapides. Sûrement une question d'âge).
t'inquiétes pas ton tour viendra, n'est il pas Jean-paul !!!

pour etre puriste , il n'y a pas lieu d'intégrer le recalcul de la borne de
départ dans la boucle !!!!
;-P

Sub Doublons()
Dim CelluleCourante As Range
Dim Debut!, Fin!
Debut = Range("A65536").End(xlUp).Row
Fin = 2
For i = Debut To Fin Step -1
Set CelluleCourante = Range("A" & i)
If CelluleCourante = CelluleCourante.Offset(-1, 0) Then
Rows(i).Delete
End If
Next
End Sub


"Modeste" a écrit dans le message
news:

6ba101c42ec9$95a26a90$
bonjour Jacky....
au moins 3 problemes !!!!

1- Range("65536") c'est pas une plage
correction : Range("A65536")

2- la borne finale c'est 2 et non 1

3- sinon i-1 = 0 row=0 n'existe pas !!!

For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then

ensuite la macro ne marche que si la plage est triée.

conclusion macro corrigée :

Sub Doublons()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = Range("A" & (i - 1)) Then
Rows(i).Delete
End If
Next
End Sub

;-)))
c'est bien Mon Jacquouille !!!
tu as fait de gros progrès en grand breton , n'est-il
pas ???


-----Message d'origine-----
Bonjour
Vu l'urgence et pas de connexion à internet dispo au
bureau, j'ai donc du

réinventer la roue du chapitre "Comment effacer des
doublons".

Une fois le boulot terminé par la macro, le poste, il
m'affiche:

"Erreur1004
La méthode Range de l'objet _Global a échoué"
Et pourtant, elle tourne !
----------------
Sub Doublons ()
For i = Range("65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = Range("A" & i-1) Then
Rows(i).Delete
End If
Next
End Sub
---------------
Je précise que tous mes tests ont porté sur des cel en A
qui ont été triées

préalablement.
La macro fonctionne mais m'affiche le msg d'erreur.
Vous pouvez m'expliquer, svp?
Merci à tous et bonne fin de semaine
--
Jacquouille conseille : http://www.excelabo.net




.







Avatar
Gadget
Profite du jour présent sans te soucier du suivant
Bicose
La gloire du monde est ephémère, et
La Roche Tarpeïenne est proche du Capitole.

Voilà voilà...

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Jacquouille" a écrit dans le message de
news:
Bonsoir Gadget
merci pour cette évidence tellement grosse que je ne l'avais pas vue.
Si tu pouvais traduire la fin de ton msg (en latin), cela nous aiderait
.... -)