VBA Sélectionner et copier des lignes en fonction de valeurs spécifiques

Bonjour,

Je bloque sur une partie de mon code.
J'ai réussi à faire un code pour récupérer un fichier Excel et sélectionner mes colonnes (ici C, D et M) à partir de la ligne 15.

Mais je voudrais maintenant que ma sélection de ligne commence lorsque la colonne C contient soit la lettre "A" soit "K". Et copier donc cette ligne avec les colonnes C, D et M qui correspondent.

Je ne sais pas si c'est très clair.
Je vous met mon code ci-dessous.

Sub Choix_du_Fichier()

Dim FichierSource As Variant

Dim Source As Workbook
Dim Cible As Worksheet

    On Error GoTo Fin

    Set Cible = Sheets("Feuille1")
    FichierSource = Application.GetOpenFilename("Fichiers (*.xlsx),*.xlsx")

    If FichierSource = False Then GoTo Fin

    Application.ScreenUpdating = False
    Set Source = Workbooks.Open(FichierSource)
    With Source
         .Sheets("Feuille1").Range("C15:D800,M15:M800").Copy Destination:=Cible.Range("A1")
         .Close False
    End With
    Application.ScreenUpdating = True

    MsgBox "Fin de l'import !"
    GoTo Fin

Fin:

    Application.ScreenUpdating = True

    Set Cible = Nothing
    Set Source = Nothing

End Sub

Si quelqu'un à une idée ça fait un petit moment que je cherche. Merci à vous.

Bonjour,

Je ne sais pas si c'est très clair.

Sans avoir la moindre idée de la structure de ton fichier, je crains que la réponse à cette question soit négative

Ceci étant, peut-être que Power Query pourrait t'éviter de passer par du code !?

Mon fichier avec la macro est vierge. Avec ma macro j'importe des donner d'un autre fichier Excel pour récupérer 3 colonnes (Colonnes C, D et M).

Dans la colonne C, j'ai des lettres (Ex : A, C, F, K) et je voudrai sélectionner uniquement les lignes qui on un "A" ou un "K" dans le colonne C. Et prendre aussi les information qui sont dans les colonnes D et M.

C'est plus clair ?

Re-bonjour,

Ce qui serait plus clair, ce serait de joindre un fichier exemple, parce que, quand tu parles "des lignes qui ont un A ou un K en colonne C", on ne sait pas si ce A ou ce K figurent seuls dans les cellules, s'ils sont toujours en majuscule, etc.

En fin de compte, ce que tu veux, c'est filtrer le tableau ?

Et Power Query, tu ne veux même pas en entendre parler !?

Non je dois le faire en VBA.

Voici un exemple type de tableau.

Dans la colonne C, j'ai des lettres (A, C, K) et je voudrai sélectionner uniquement les lignes qui on un "A" ou un "K" dans le colonne C. Et prendre aussi les information qui sont dans les colonnes D et F.

27test.xlsm (18.05 Ko)

Re,

Non je dois le faire en VBA.

Ah ben oui, évidemment !

Utilise l'enregistreur de macro pour filtrer ton tableau (critère : différent de "C"), puis copier les données qui en résultent et faire un collage spécial > valeurs dans ton classeur cible

Rechercher des sujets similaires à "vba selectionner copier lignes fonction valeurs specifiques"