Besoin d'aide Macro/Visualbasic/Excel

Bonjour,

J'ai récupéré cette macro d'un ancien collégue mais c'est la première fois pour moi.

Lorsque je compile j'obtiens le message suivant:
Membre de méthode ou de données introuvable

Et il me surligne le SpreadSheet8 en jaune :
VOIRPT.Show vbHide
VOIRPT.Spreadsheet8.ActiveCell.Paste
Windows("W01.xls").Activate
Range("B1:B100").Select
Selection.Copy

Je ne comprend pas car ce code doit se rapporte à une feuille qui est bien présente, enfin je dois surement etre a l'ouest..

toute aide est la bienvenue
Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. Windows("W01.xls").Activate
    Range("I1:I100").Select
    Selection.Copy
    VOIRPT.Show vbHide
    VOIRPT.Spreadsheet8.ActiveCell.Paste

    enlève le vbhide déjà pour voir si il est pas planqué
    je ne pourras pas te répondre aujourd'hui, je verrai demain pour t'améliorer ton code
    a+
    0
    1. Voila c'est tout a fait mon problème !

      Comment dire à visual basic que ma spreadsheet8 est une certaine page de mon form ?

      Car jai bien le fichier W01.xls ?

      Désolé vraiment je ne connais pas, et je ne comprend pas ;o

      Merci pour ton aide ;)
      0
      1. salut

        Désolé pour le temps de réponse je n'avais plus accès au net.
        En fait ton spreadsheet est en jeune car vba ne le trouve pas normalement il doit être inséré dans le userform.
        Et cela t'aurai du le récupérer non dans le code de ton collègue mais dans son classeur car:
        Quand tu crée un userform tu insère des contrôles boutons zone de texte etc.
        Au niveau du code rien ne se crée, se n'est qu'après que quand tu fais référence au nom de ton contrôle dans ton code que vba peut te le trouver.

        0
        1. Salut

          En fait ce code risque de ne pas te servir car :

          VOIRPT.Show vbHide ' VOIRPT est sans doute un Userform c'est une fenêtre qu'on peut créer avec des boutons une zone de texte etc. donc le code demande l'ouverture

          VOIRPT.Spreadsheet8.ActiveCell.Paste 'ensuite il y a juste un collé de l'image spreadsheet dans la cellule active
          donc code doit être incomplet car il faut d'abord copy pour un copier coller

          Windows("W01.xls").Activate ' ensuite ouverture de la feuille W01 cellules B1 à B100
          Range("B1:B100").Select
          Selection.Copy

          Apparement tu n'as pas l'image à copier c'est pour cela qui te dit introuvable.

          0
          1. VOIRPT.Show vbHide ' VOIRPT est sans doute un Userform c'est une fenêtre qu'on peut créer avec des boutons une zone de texte etc. donc le code demande l'ouverture

            j'ai bien ce UserForm qui s'appelle VOIRPT

            Windows("W01.xls").Activate
            Range("I1:I100").Select
            Selection.Copy
            VOIRPT.Show vbHide
            VOIRPT.Spreadsheet8.ActiveCell.Paste

            Là je pense que le code est complet

            Au début j'ai ceci :
            If VAR1 = True Then
            ChDir "X:\bkibki\"
            Workbooks.Open Filename:= _
            "X:\bkibki\W01.xls"

            L'image à copier est en fait une colonne de ce fichier EXCEL

            J'ai en fait ceci :

            If VAR1 = True Then
            ChDir "X:\bkibki\"
            Workbooks.Open Filename:= _
            "X:\bkibki\W01.xls"
            Windows("W01.xls").Activate
            Range("I1:I100").Select
            Selection.Copy

            VOIRPT.Show vbHide
            VOIRPT.Spreadsheet8.ActiveCell.Paste

            Quand je lance le debug il me surligne le spreadsheet en jaune,
            je ne comprend pas en fait à quoi corresepond le spreadsheet, j'ai bien mon forms avec plusieurs "sheet dedans"

            En tout cas merci pour ta réponse
            0