Erreur de compilation

Encore bonjour à tous,

J'ai un problème avec la macro suivante:

Sub CopieColle()
Application.ScreenUpdating = False
Dim x As Long, y As Long, z As Long

x = Sheets(13).Range("A" & Rows.Count).End(xlUp).Row
If x > 2 Then
    Sheets(13).Rows("2:" & x).Delete
End If

For y = 1 To 12
    x = Sheets(y).Range("A" & Rows.Count).End(xlUp).Row
    Sheets(y).Range("A2:S" & x).Copy

    z = Sheets(13).Range("A" & Rows.Count).End(xlUp).Row
    If z < 2 Then
        x = Sheets(13).Range("A" & Rows.Count).End(xlUp).Row + 1
    Else
        x = Sheets(13).Range("A" & Rows.Count).End(xlUp).Row
    End If

    If y = 1 Then
    Sheets(13).Range("A" & x).PasteSpecial
    Sheets(13).Range("T" & x & ":T" x + selection.rows.count -1).value = Sheets(y).Name
    End If

    If y >= 2 Then
    Sheets(13).Range("A" & x + 1).PasteSpecial
    Sheets(13).Range("T" & x & ":T" x + selection.rows.count -1).value = Sheets(y).Name

    End If
Next
End Sub

Le but de cette macro est de compiler sous un seul onglet le contenue de 12 autres onglets. Mais elle doit aussi me remplir la colonne avec en bout de ligne le nom de l'onglet d'où viens la valeur. Et c'est la que ça coince !

la ligne suivante qui devrais remplir la dernière colonne me sort une erreur de compilation "attendu : séparateur de liste ou)" au niveau du "x" :

Sheets(13).Range("T" & x & ":T" x + selection.rows.count -1).value = Sheets(y).Name

Etant toujours débutant, j'avoue ne pas comprendre comment régler ce problème. j'en appel donc à votre aide !

Un grand merci d'avance à ceux qui prendrons le temps de me lire et/ou de me répondre

C'est quoi ça ?

":T" x

il est où le "&" ???

dans

Sheets(13).Range("T" & x & ":T" x + selection.rows.count -1).value = Sheets(y).Name

Je suis vraiment fatigué... Vivement les vacances !

2 heures que je cherche et j'ai juste oublié le "&" de base...

Merci beaucoup Vince mon sauveur une fois de plus !

Bon du coup ça fonctionne mais mal (en même temps c'est moi qui ai codé donc c'est normal)

J'ai la dernière ligne de chaque onglet qui prend le nom de l'onglet suivant et pas de son onglet d'appartenance, et j'ai beau modifié la 2e ligne que ça change rien

Sheets(13).Range("T" & x & ":T" & x + Selection.Rows.Count - 1).Value = Sheets(y).Name

Je ne comprend pas trop ce que tu veux faire (peut être un fichier exemple ?)

Sheets(13).Range("T" & x & ":T" & x + Selection.Rows.Count - 1).Value = Sheets(y+1).Name

Je te donne ça si par hasard c'est ce que tu souhaites

En même temps vu la qualité de l'explication je comprend pas comment tu as fait pour ne pas comprendre

j'ai bidouillé et j'ai ça :

Sheets(13).Range("T" & x + 1 & ":T" & x + Selection.Rows.Count).Value = Sheets(y).Name

C'est pas beau mais ça fonctionne !

Encore merci beaucoup pour ton aide !

Non ! ça marche pas du tout en fait !

Un problème en cache toujours un autre !

Donc, en fait j'aimerais que la macro cité plus haut fonctionne par Toggle Bouton, elle s'enclenche uniquement quand le bouton est "sortie":

Private Sub ToggleButton1_Click()
   Application.ScreenUpdating = False
   Dim I&
    With Me.ToggleButton1
    'Condition et Modification du Bouton
        If .Value = True Then 'Si la valeur du bouton est vrai donc "enfoncé"
            .Caption = "Masquer": .BackColor = vbRed 'Valeur = Masquer et Couleur = Rouge
        Else
            .Caption = "Afficher": .BackColor = vbGreen 'Sinon valeur = Afficher et Couleur Verte
            Module1.CopieColle
        End If
        For I = 1 To 13: Sheets(I).Visible = .Value: Next 'S'applique au feuille de 1 à 4 selon la valeur du bouton
    End With
End Sub

Problème, tout fonctionne, à l'exception du remplissage de la dernière colonne

Help me plz !

Le fameux fichier

6osecours.7z (622.85 Ko)
Rechercher des sujets similaires à "erreur compilation"