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

Ici :

With Source
.Sheets(« Feuille1 »).Range(« C15:D800,M15:M800 »).Copy Destination:=Cible.Range(« A1 »)
.Close False
End With

Mets comme ceci
lignerecopie = 1
With Source
For i = 15 to 800
If .Sheets(« Feuille1 »).Range(« A »&i) = « A » or .Sheets(« Feuille1 »).Range(« A »&i) = « K » Then .Sheets(« Feuille1 »).Range(« C »&i&":D" &i&",M"&i&":M"&i).Copy Destination:=Cible.Range(« A »&lignerecopie)
Lignerecopie = lignerecopie + 1
End If
Next
.Close False
End With

Attention les guillemets doivent être ressaisis au clavier accolés à leur donnée sans espace entre

Testes et dis moi

En début de code mets ces 2 lignes :

Dim i As Integer
Dim lignerecopie As Integer

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.