Problème code VBA

totodor Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
totodor Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour le forum,

Je n'arrive pas à créer un code VBA. En effet, j'aurais besoin de copier un certain nombre de cellules d'une ligne dans une autre feuille si une cellule de cette ligne contient un nom. Je m'explique : par exemple copier B3, C3, D3 et H3 si AX3 contient "validé" et les coller dans une autre feuille et ainsi de suite si pour toute la feuille initiale.
J'ai pas mal cherché dans le forum mais j'ai trouvé uniquement des copies de la ligne entière, alors que moi je n'ai pas besoin.
Merci par avance.

Bonne semaine
A voir également:

5 réponses

Normad Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   40
 
Sub Copie()
    Dim Ligne As Long
    'Boucle de la ligne 1 à la ligne 10 (changer 10 si jamais...)
    For Ligne = 1 To 10
        'Changer le nom Feuil1 avec le nom de la feuille contenant les données à copier
        If Sheets("Feuil1").Range("AX" & Ligne).Value = "validé" Then
            'Changer le nom Feuil2 avec le nom de la feuille où copier les données
            With Sheets("Feuil2")
                'SI feuil1(AX1) = "validé", copie Feuil1(B1:C1) sur Feuil2(B1:C1)
                'idem avec AX2, AX3...
                .Range("B" & Ligne) = Sheets("Feuil1").Range("B" & Ligne)
                .Range("C" & Ligne) = Sheets("Feuil1").Range("C" & Ligne)
                .Range("D" & Ligne) = Sheets("Feuil1").Range("D" & Ligne)
            End With
        End If
    Next Ligne
End Sub
0
totodor Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp Normad,

Ca marche très bien sauf que je me retrouve avec plein de lignes et de colonnes vides. En effet, les cellules copiées conservent leurs emplacement initial dans la nouvelle feuille. Est-ce qu'il y aurait un moyen de les coller dans des lignes et des colonnes qui s'achèvent ou de rajouter un code VBA qui va supprimer les lignes et les colonnes vides?

Merci encore.
0
totodor Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Du coup, j'ai en tout 7 celluces à copier ( B, C, H, I, J, V et X), est-ce que je peux les copier dans les colonnes de B à H dans la nouvelle feuille?
0
Normad Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   40
 
Désolé, mais c'est souvent le problème quand une question n'est pas suffisamment précise et sans fichier exemple: Ma réponse correspondait à ma compréhension de la question initiale....
L'idée n'est pas te faire tout ton code avec des questions qui viendrons encore peut-être ensuite, mais de te donner la base.

Pour la ligne où copier, utilises une deuxième variable Ligne2 que tu indexes quand elle est utilisée uniquement, ça donnera ensuite ça pour la reprise des données :

.Range("B" & Ligne2) = Sheets("Feuil1").Range("B" & Ligne)

Pour reprendre d'autres cellules, ajoutes les lignes comme celle ci-dessus correspondantes et si tu ne veux pas mettre dans la même colonne, change la lettre de la 1ère partie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
totodor Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp,
Désolé pour la mauvaise précision de la question, je n'ai pas encore l'habitude de bien formuler une demande.

Merci et bonne journée,
0