Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA = Copier plusieurs fichiers Excel dans un nouvel onglet à chaque fois

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CactusCactus

XLDnaute Nouveau
Bonjour,

Nous sommes nulles en VBA, et nous avons un projet à rendre bientôt.

Nous voulons copier le contenu d'une feuille telechargée (depuis le site Yahoo finances) sur une adresse predefinie, et par rapport à un code specifique.

Mais quand on tente d'executer la macro cela affiche l'erreur "Erreur '9' : l'indice n'appartient pas à la selection", quand il arrive à la ligne "Sheets("table").Name = CODE"

(CODE est une variable)

Voici le code en entier :


Code:
Public TYPE_V As String, CODE As String, i As Integer


Sub test()

Dim codes_yahoo As Variant, types_valeur As Variant


codes_yahoo = Worksheets("Titres").Range(Cells(2, 3), Cells(2, 3).End(xlDown)).Value

types_valeur = Worksheets("Titres").Range(Cells(2, 1), Cells(2, 1).End(xlDown)).Value


For i = 1 To UBound(codes_yahoo)

'chargement des deux paramètres dont a besoin la fonction:
        CODE = codes_yahoo(i, 1)
        TYPE_V = types_valeur(i, 1)


'on appelle la fonction fnYahooHistQueery
Call fnYahooHistQueery
            
          

            Sheets("table").Copy after:=Workbooks("data.xlsx").Sheets(Sheets.Count)
            
            
            Sheets("table").Name = CODE
       
Next i


End Sub
 
 Function fnYahooHistQueery()
' c'est la fonction qui permet de telecharger les doonnés



If TYPE_V = "Mutuals Funds" Then
           Workbooks.Open Filename:= _
              "http://ichart.finance.yahoo.com/table.csv?s=" & CODE & "&a=01&b=5&c=2004&d=05&e=7&f=2012&g=m&ignore=.csv"
    Columns("A:A").Select
          Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
               TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
               Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
                :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
              Array(7, 1)), TrailingMinusNumbers:=True
                     
             



        



ElseIf TYPE_V = "ETF" Then

           Workbooks.Open Filename:= _
            "http://ichart.finance.yahoo.com/table.csv?s=" & CODE & "&a=01&b=2&c=2004&d=05&e=7&f=2012&g=m&ignore=.csv"
Columns("A:A").Select
          Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
               TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
               Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
                :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
              Array(7, 1)), TrailingMinusNumbers:=True
              
              
                  

     
     End If
     
     

     
     End Function


Merci beaucoup à celui ou celle qui pourra nous aider ^^
 
Re : VBA = Copier plusieurs fichiers Excel dans un nouvel onglet à chaque fois

Bonjour Cactus X 2

(CODE est une variable)
est-ce une variable alphanumérique ? (si c'est numérique, je pense que ça devrait produire l'erreur )

fais un test en ajoutant cette ligne juste devant celle qui produit l'erreur:
MsgBox(CODE)
et vérifie si il n'y a pas de caractères spéciaux qui pourraient eux aussi produire une erreur


à+
Philippe
 
Re : VBA = Copier plusieurs fichiers Excel dans un nouvel onglet à chaque fois

Bonjour Phillipe, merci de ta réponse!

Oui CODE est une valeur alphanumerique (c'est sous la forme H2M4, ou ABMX)

J'ai essayé d'ajouter "MsgBox (CODE)" devant mais j'ai toujours la même erreur et aucune message box ne s'affiche...

Merci quand même!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
567
Réponses
2
Affichages
785
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…