VBA Sélectionner et copier des lignes en fonction de valeurs
Mia
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
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.
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.
Configuration: Windows / Chrome 101.0.4951.54
A voir également:
- Vba selectionner une ligne en fonction d'une valeur
- Fonction si et - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne dans une cellule excel - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
si j'étais toi, je commencerais par chercher la ligne contenant les valeurs attendues.
si j'étais toi, je commencerais par chercher la ligne contenant les valeurs attendues.