L'indice n'appartient pas à la sélection

Bonjour tout le monde,

Je reviens vers vous pour demander votre aide afin de résoudre un problème que je n'arrive pas à solutionner.

La macro ci dessous est censée copier des colonnes d'une feuille de calcule à une autre et je n'arrive pas à comprendre pourquoi au moment de la lancer Excel m'indique que l'indice n'appartient pas à la sélection.

Je vous remercie par avance et bonne journée à tous !!

12classeur2.xlsm (26.56 Ko)

Salut !

Mmhhh je ne suis pas expert mais dans ton array tu n'as que 3 valeurs mais tu fais un test sur 4 valeurs dans ta boucle : 0, 1, 2 et 3

Bonne journée !

Bonjour,

Merci pour ton retour, j'ai essayé mais ça ne donne toujours rien !

Sub Reporter()
    Set f = Sheets("Feuil3") '
    Set ft = Sheets("Feuil2")
   If f.Range("C1") = "Oui Non" Then
    colt = Array("A", "B", "C")
    colf = Array("G", "B", "H")
    derln = f.Range("A" & Rows.Count).End(xlUp).Row
    lgn = ft.Range("A" & Rows.Count).End(xlUp)(2).Row
     End If
        For col = 0 To 2
        f.Range(colf(col) & "2:" & colf(col) & derln).Copy ft.Range(colt(col) & lgn)

        Next col
    f.Range("C1") = "Oui Non"

End Sub

Je n'ai plus d'erreur mais je ne suis pas certains que c'est ce que tu souhaitais comme résultat ...

bonjour,

ton code à l'air bien trop compliqué pour y comprendre quelque chose :

dans une autre feuille montrer un exemple le résultat attendu svp.

A+

Bonjour

voir ton For col = 0 To 3

mettre

For col = 0 To 2

A+

Maurice

Bonjour

au final mètre

        For col = LBound(colt) To UBound(colt)
            f.Range(colf(col) & "2:" & colf(col) & derln).Copy ft.Range(colt(col) & lgn)
        Next col

A+

Maurice

Bonjour,

Je vous remercie pour vos réponses, cela dit j'ai toujous un message d'erreur mais qui me dit à présent qu'il y a incompatibilité de type en indiquant la ligne qui suit :

f.Range(colf(col) & "2:" & colf(col) & derln).Copy ft.Range(colt(col) & lgn)

Pour ceux qui n'ont pas compris le but de la macro, je m'excuse tout d'abord de mon imprecision.

Le but est de copier des colonnes d'une feuille de calcule à une autre, dans cet exemple de la feuille 3 à la feuille 2 en respectant l'emplacement des colonnes indiqué dans le Array.

Bonjour

regarde bien si ca te va

f.Range(colt(col) & "2:" & colt(col) & derln).Copy ft.Range(colf(col) & 2)

A+

Maurice

Rechercher des sujets similaires à "indice appartient pas selection"