Excel 2003 - Erreur sur macro

[Résolu/Fermé]
Signaler
Messages postés
4803
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
24 septembre 2021
-
Messages postés
4803
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
24 septembre 2021
-
Bonsoir,

J'aurais besoin d'aide pour une macro que j'ai faite sur un fichier indépendant du fichier à mettre à jour.
J’ai ensuite voulu faire un bouton (avec la boîte à outil contrôle /visualiser le code), j’ai collé le texte entre Sub et end sub. En testant le bouton, il me dit :
« Erreur d’exécution 1004
La commande n’a pu être exécutée avec la plage spécifiée. Sélectionnez une seule cellule dans la plage et reessayez
. »
Et l’erreur pointe bien sur la plage Range (B2 :B3000………)

Or ma plage est bonne. La macro s’exécute bien s’exécute correctement avec Alt+F8.

Sub FiltreFournisseur()
'
' FiltreFournisseur Macro
' Macro enregistrée le 05/06/2008 par
'
Windows("MonFichieràMettreàJour.xls").Activate
Range("B2:B3000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"H2:H30"), Unique:=True
ActiveWindow.SmallScroll Down:=-24

End Sub

Est-ce que ces éléments vous permettent de me dépanner ?
Merci d’avance.

5 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 512
bonjour

Je n'ai pas tous les éléments pour tester mais je pense qu'il te faut préciser la feuille concernée ("feuil1" à adapter)
Sub FiltreFournisseur()
'
' FiltreFournisseur Macro
' Macro enregistrée le 05/06/2008 par
'
Windows("MonFichieràMettreàJour.xls").Activate
Sheets("feuil1").Range("B2:B3000").AdvancedFilter Action:=xlFilterCopy,  _
CopyToRange:=Sheets("feuil1").Range("H2:H30"), Unique:=True
End Sub
Messages postés
4803
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
24 septembre 2021
4 264
Bonsoir Gbinforme, ou ce sera plutôt bonjour,

Pour pouvoir mettre un exemple, j'ai tronqué et "anonymisé" mon fichier et du coup j'ai tout refait depuis le début. Et j'ai la même erreur.
Cette ligne avec "feuil1" qui s'appelle maintenant "MacroFiltreFournisseur" : quand je visualise le code avec la boîte à outils, elle n'y est pas. Quand je fais modifier avec ALT+F8, elle y est.
Bon, sache que je débute en macro et c'est ma première !... Mais, là j'en ai vraiment besoin, et indépendante du fichier qui doit être déployé sur un Intranet, donc sans macro à cause des niveaux de sécurité des postes. Il n'y a qu'un utilisateur qui aura besoin de cette petite macro avec un accès pour modifier. Je t'explique juste pour te situer mon besoin.

Je mets le fichier à mettre à jour :
http://www.cijoint.fr/cjlink.php?file=cj200806/cijH1BwwLY.xls
Le fichier avec bouton macro :
http://www.cijoint.fr/cjlink.php?file=cj200806/cijLGmtGiY.xls

Merci de regarder.
Messages postés
4803
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
24 septembre 2021
4 264
Bonjour,

J'ai relu ton message ce matin. J'ai adapté en précisant la feuille. Mais j'ai une erreur 9 maintenant.
Est-ce comme ceci qu'il fallait faire ?
le fichier avec la macro :
http://www.cijoint.fr/cjlink.php?file=cj200806/cijLGmtGiY.xls

Merci d'avance.
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 512
bonjour

J'ai récupéré tes fichiers et j'ai seulement modifié ainsi ta macro pour qu'elle fonctionne
Private Sub CommandButton1_Click()
'
' FiltreFournisseur Macro
' Macro enregistrée le 05/06/2008 par
'

'
    Windows("TestBouton.xls").Activate
    ActiveSheet.Range("B2:B3000").AdvancedFilter Action:=xlFilterCopy, _
        CopyToRange:=ActiveSheet.Range("H2:H30"), Unique:=True
 
End Sub
Messages postés
4803
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
24 septembre 2021
4 264
Parfait, ça marche très bien avec ta correction.
Un grand merci pour ton aide Gbinforme.

Très bonne journée.