Macro fonctionnant avec une erreur ??

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas B.
Le #1343156
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




Gadget
Le #1343154
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" 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






Modeste
Le #1343151
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




.



Jacquouille
Le #1340249
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."
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








Jacquouille
Le #1340248
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" 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" 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










Jacquouille
Le #1340246
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" 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




.



GD
Le #1340219
"Jacquouille" (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" 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




.







Gadget
Le #1340210
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" 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
.... -)


Publicité
Poster une réponse
Anonyme