Excel 2003 - Erreur sur macro

Résolu
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.

--

Argitxu
Configuration: Windows XP
Firefox 2.0.0.14

5 réponses

  1. Contributeur
    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
    
    0
    1. 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.
      0
      1. 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.
        0
        1. Contributeur
          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
          
          0
          1. Parfait, ça marche très bien avec ta correction.
            Un grand merci pour ton aide Gbinforme.

            Très bonne journée.
            0