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 :

Rechercher une valeur dans une colonne [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 283
    Par défaut Rechercher une valeur dans une colonne
    Bonjour à toutes et tous,

    Je cherche à développer une macro de duplication d'une ligne vers la 1ère ligne non vide de mon tableau structuré nommé "Tab_Compta".
    Pour ce faire, j'ai une colonne "Duplication" dans laquelle je saisi un X pour indiquer la ligne concernée par la duplication.

    Voici le code :
    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
    Sub Dupliquer()
     Sheets("Compta").Activate
     
    ' 1) Chercher dans colonne D "Duplication" la valeur X => Test avec IF ?
    ' Si la cellule D25 est vide Alors teste la suivante (D26) Sinon lance la suite du code
     
    ' 2) Copier la ligne de la colonne E à J
        Range("Tab_Compta[[Mois]:[Mode Rgt]]").Copy
     
    ' 3) Sélectionner la 1ère cellule vide dans E
        DerCell = Cells(Rows.Count, "E").End(xlUp).Row
        Cells(DerCell + 1, "E").Select 'Sélectionne la 1ère cellule vide dans E
     
    ' 4) Copier la sélection
        ActiveSheet.Paste 'Colle
     
    ' 5) Effacer X
    '    Je connais grâce au point 1) la cellule contenant X
    '    La sélectionner et utilisation de Clear.
     
    End Sub
    C'est le point 1) que je n'arrive pas à faire.
    Le point 2 sera à adapter quand le point 1 sera résolu.
    Les points 3 à 4 sont normalement corrects.
    Le point 5 je le traiterai quand le point 1 sera résolu.

    Merci pour votre aide

    Philippe

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, essaie ceci:

    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
    Sub DupliquerLignes()
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Compta")
     
        Dim tbl As ListObject
        Set tbl = ws.ListObjects("Tab_Compta") 
     
        Dim lastRow As Long
        lastRow = tbl.ListRows.Count
     
        Dim i As Long
        For i = 1 To lastRow
            If tbl.ListColumns("Duplication").DataBodyRange.Cells(i).Value = "X" Then 
                Dim newRow As ListRow
                Set newRow = tbl.ListRows.Add ' Ajoute une nouvelle ligne à la fin du tableau
     
                ' Copie les valeurs spécifiques de la ligne à dupliquer dans la nouvelle ligne
                Dim j As Long
                For j = tbl.ListColumns("Mois").Index To tbl.ListColumns("Mode Rgt").Index
                    newRow.Range(1, j).Value = tbl.ListRows(i).Range(1, j).Value
                Next j
     
                ' Efface le contenu de la cellule dans la colonne "Duplication"
                tbl.ListColumns("Duplication").DataBodyRange.Cells(i).ClearContents
            End If
        Next i
    End Sub

  3. #3
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 283
    Par défaut
    Bonjour Franc,

    Merci pour votre code qui fonctionne parfaitement.

    Bon week end
    Philippe

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

Discussions similaires

  1. [LibreOffice][Tableur] recherche de valeur dans plusieurs colonnes
    Par boboss123 dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 25/05/2016, 11h02
  2. [XL-2010] Recherche de valeur dans une colonne
    Par bamboougo dans le forum Excel
    Réponses: 8
    Dernier message: 11/02/2016, 13h18
  3. [XL-2010] Somme sur une recherche de valeur dans plusieurs colonnes
    Par Marmouz dans le forum Excel
    Réponses: 2
    Dernier message: 21/01/2012, 15h06
  4. Réponses: 4
    Dernier message: 18/12/2009, 13h44
  5. Recherche d'une valeur dans plusieurs colonnes
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2009, 11h44

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