IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Remplir une colonne automatiquement [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Remplir une colonne automatiquement
    Bonjour le forum,

    Je me confronte à un problème qui va vous prendre 8 secondes à résoudre, mais fin de semaine + manque de sommeil = je trouve pas

    Je vous explique. J'ai la macro suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    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) = Sheets(y).Name
        End If
     
        If y >= 2 Then
        Sheets(13).Range("A" & x + 1).PasteSpecial
        Sheets(13).Range("T" & x + 1) = Sheets(y).Name
        End If
    Next
    End Sub
    Celle ci me permet de prendre les valeurs de mes feuilles 1 à 12 et de les coller les unes à la suite des autres dans la feuille 13. Chaque feuille ayant pour nom un mois de l'année.

    Ce que je n'arrive pas à faire c'est de faire en sorte que dans la colonne T de la 13e feuille, le nom de la feuille d'où proviens les valeurs se mettent en bout de chaque lignes.
    J'ai réussi à le faire sur la première ligne de chaque plage coller avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(13).Range("T" & x) = Sheets(y).Name
    mais pas sur les lignes suivantes. En gros le nom du mois ne "s'étire" pas jusqu'au bas de la plage concerné...

    J'en appel donc à votre aide

    Un grand merci d'avance pour les personnes qui prendrons le temps de me répondre

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour,

    Avec le code que tu as c'est normal.

    Tx c'est une seule cellule et tu ne fais pas une copie mais une assignation de valeur donc Excel ne complète que cette cellule.

    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(13).Range("T" & x & ":T" x + selection.rows.count -1).value = Sheets(y).Name
    Si cela ne marche pas tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'Là ton code
     
    dim zone as range
    set zone=Sheets(y).Range("A2:S" & x)
    zone.copy
     
    'ici ton code aussi
     
    zone.PasteSpecial
    Sheets(13).Range("T" & x & ":T" x + zone.rows.count -1).value = Sheets(y).Name
    set zone=Nothing
     
    'Et ce qui reste de ton code ici
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Bonjour Marot_r

    désolé pour la réponse tardive (week-end toussa toussa)

    Déjà merci pour ton retour. Cependant quand j'essai tes deux codes il m'apparait une fenêtre me disant :
    "Erreur de compilation:
    Attendu : Séparateur de liste ou )"

    Peut être que j'utilise mal ton code

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Peux-tu poster le code que tu utilises et indiquer sur quelle ligne est signalée l'erreur ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    bonjour Marot_r
    Problème résolu, j'ai oublié de mettre un & dans ma formule

    merci beaucoup pour ton aide !

    Le problème est résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] remplir une liste automatiquement par colonnes d'autres sheet
    Par ouzal dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/12/2010, 21h41
  2. [E-00] Remplir une colonne automatiquement
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/10/2008, 18h38
  3. Réponses: 4
    Dernier message: 31/10/2007, 20h27
  4. Ajout d'une colonne automatiquement suivant date
    Par paflolo dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 17h51
  5. Remplir une colonne
    Par sali dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/12/2004, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo