Excel copier lignes après recherche
Zantos
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai besoin de votre aide...
Dans grand un fichier excel contenant 'moult' lignes, je voudrais créer une macro qui me permettrai de rechercher un mot, puis de sélectionner les lignes dans lesquelles ce mot apparait, puis finalement de les copier pour les transposer à un autre endroit (autre classeur ou feuille)... (ouf !!)
Bref je vois pas trop comment m'y prendre..
Si vous avez des idées, je frôle la tendinite du pouce à force de Ctrl+C, Crtl+V
Merci
J'ai besoin de votre aide...
Dans grand un fichier excel contenant 'moult' lignes, je voudrais créer une macro qui me permettrai de rechercher un mot, puis de sélectionner les lignes dans lesquelles ce mot apparait, puis finalement de les copier pour les transposer à un autre endroit (autre classeur ou feuille)... (ouf !!)
Bref je vois pas trop comment m'y prendre..
Si vous avez des idées, je frôle la tendinite du pouce à force de Ctrl+C, Crtl+V
Merci
Configuration: Windows XP Firefox 3.0.10
4 réponses
-
Bonjour,
Exemple type :Option Explicit Sub Traitement() Dim Plage As Range, Cible As Range, Ligne As Long Dim Feuille As Worksheet, Resultat As Worksheet ' Ne pas effectuer l'affichage pendant la macro ' Ceci permet de minimiser le temps d'exécution ' Enlever le commentaire 'Application.ScreenUpdating = False ' Définition de la plage de recherche Set Plage = ActiveSheet.UsedRange Set Feuille = ActiveSheet ' Ajout d'une nouvelle feuille recevant les copies ActiveWorkbook.Sheets.Add.Name = "Resultat" Set Resultat = ActiveSheet ' Balayage de la plage de données Feuille.Activate For Each Cible In Plage ' Validation du mot clé recherché If (Cible.Value = "Mot_Recherché") Then ' Sélection de la ligne Cible.EntireRow.Select ' Lance la copie Selection.Copy ' Changement de feuille Resultat.Activate ' Déterminer à quel ligne copier le résultat Ligne = (Range("A1:A65536").End(xlDown).Row + 1) ' Sélection de l'emplacement pour copier Range("A" & Ligne).Select ' Copie ActiveSheet.Paste ' Désactivation du mode copier/coller Application.CutCopyMode = False ' Retour à la feuille de recherche Feuille.Activate End If Next Cible ' Réactiver l'affichage ' Enlever le commentaire si enlever en haut 'Application.ScreenUpdating = True End Sub '
Lupin
-
Salut,
Donnes plus d'explications, dans quelle colonne doit se faire la recherche et le mot recherché, ensuite la ligne doit elle être simplement copiée ou coupée ou encore le mot déclencheur doit il être changé pour ne pas déclencher la macro la fois prochaine.
Que veux tu dire par transposer, c'est mettre une ligne en colonne, (A1, B1, C1 etc sur une colonne ex. D1, D2, D3 etc
A+ -
Ok
Enfait, j'ai une grande (très grande) liste extraite d'une base de données que j'ai besoin de traiter..
Il s'agit d'une liste extraite d'une GMAO qui répertorie quantités d'informations, interventions, pannes...
Comme cette liste est un peu mal foutue, Il faudrait que je puisse selectionner puis copier les lignes dont une cellule contient un mot précis, et les extraire vers une autre feuille du même classeur. Classeur dans lequel je pourrais procéder à un filtrage plus précis..
Voila,je ne sais pas si c'est plus clair, si besoin de plus de précisions n'hésites pas..
Merci -
[..] et non le mot n'a pas besoin d'être modifé, car le mot-clé va varier en fonction des informations que je recherche dans cette liste.
Par exemple si je recherche des infos sur une machine précise, je voudrais entrer le mon de cette machine dans une boite de dialogue (ou qqch comme ca), extraire toute les lignes où ce nom apparait (parfois qlq centaines) et travailler ensuite dessus. Ca me permetrait de gagner beaucoup de temps et d'éviter de rater des infos car certaines cellules sont parfois pleines à craquer...