Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

xtoonsx

XLDnaute Nouveau
Bonjour,

Tout d'abord merci au site et à vous tous pour toutes les discussions et vos résolutions de problèmes qui m'ont permis bien des fois de me sortir de situations où je séchais vraiment.
Aujourd'hui je suis confronté à un nouveau problème (en tous cas pour moi) mais qui, je pense, sera plutôt facile pour tout ceux qui voudront m'aider tant j'ai l'impression que le niveau des personnes du site est largement au dessus du mien.
Je vous expose mon problème.
Je reçois un fichier du type de document attaché et j'aimerais extraire une partie de tableau de la feuil1
Je recherche donc une macro qui me permettrait de chercher une chaine de caractère (dans mon exemple : Toto) dans le tableau de la feuil1 (cellule B8) et de copier dans la feuil2 le bloc correspondant "Cas 2" (cellules A812) comme dans l'exemple attaché. Cependant il se peut que la feuille reçue évolue à chaque fois et que la position de "Toto" soit au "cas 1" ou au "cas 3" ou au "cas 4" etc...
Un grand merci d'avance pour tout ceux qui pourront m'aider.
 

Pièces jointes

  • Test Recherche et copie.xlsm
    8.9 KB · Affichages: 369
G

Guest

Guest
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Bonsoir,

Code:
Sub ChercherCopierColler()
    Dim chaine As String
    Dim c As Range
    chaine = InputBox("Chaine à trouver")
    If chaine = "" Then Exit Sub
    With Sheets("Feuil1")
    Set c = .Range("B:B").Find(what:=chaine, LookIn:=xlValues, lookat:=xlPart, searchorder:=xlByRows, MatchCase:=False)
    If Not c Is Nothing Then
       c.[COLOR=red][B]CurrentRegion[/B][/COLOR].Copy Destination:=Sheets("Feuil2").Cells(.Rows.Count, 2).End(xlUp)(3).Offset(, -1)
    End If
    End With
End Sub

A+
 
Dernière modification par un modérateur:

xtoonsx

XLDnaute Nouveau
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Bonsoir Hasco,

Tout d'abord merci pour la rapidité et la réactivité. C'est tout à fait ce que je recherchais et en plus j'ai la boite de dialogue pour choisir la chaine de caractère. Tout simplement génial !
Juste une petite question mais je ne veux pas faire la fine bouche :
Pourquoi la copie ne se fait pas en A1 de la feuil2 mais 2 lignes en dessous ?
Merci
 
G

Guest

Guest
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

re bonsoir,

Tout d'abord merci pour la rapidité et la réactivité

C'était juste pour te souhaiter la bienvenue sur le forum, qui je le rapelle est un forum de partage et non un marché à la macro. J'aurais aimé trouver dans ton fichier un bout de tentative de résolution de ton problème.

Sinon réponse à ta question:

Parce que
Code:
Sheets("Feuil2").Cells(.Rows.Count, 2).End(xlUp)(3)
Cherche la dernière cellule de la colonne B et la décale de 3 ligne pour laisser une ligne vide entre les blocs comme sur feuil1.

Pour la première cela laisse deux lignes vides, parcequ'il n'y a rien sur la ligne 1 , pour les suivantes elle seront séparées d'une seule.

Dans mon post précédent j'ai changé une petite chose(qui ne fonctionnera que si ta feuil1 n'est pas protégée) sinon garde l'ancienne version.

A+
 
Dernière modification par un modérateur:

xtoonsx

XLDnaute Nouveau
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Merci Hasco pour ta réponse.

Juste concernant le début de résolution, je voulais faire passer un fichier clean malgré les essais que j'avais faits car en fait cette partie de macro vient compléter une macro beaucoup plus importante. Je suis vraiment au tout début de visual Basic et j'ai du mal à connaitre les fonctions et j'apprends à les connaitre au fur à mesure et comment elles fonctionnent grâce à ce site. Mais malgré mes recherches, je séchais là.
Crois moi que je n'ai jamais considérer ExcelDownload comme un supermarché à Macro au regard du temps que je passe à comprendre le fonctionnement des solutions que je trouve via le site.

Merci encore.
Continuez à nous aider, nous Béotiens d'Excel et de VBA
 

sebaert

XLDnaute Nouveau
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Bonjour à tous,

Je suis debutant en VBA et cherche à ecrire la procedure suivante:
Mon fichier contient plusieurs feuilles (janvier, fevrier, mars, etc.) contenant chacune des informations concernant des dossiers clients dont certains sont actifs et d'autres clos. Les dossiers sont classes par ordre chrnologique. La chaine/texte ("ouvert" pour dossier actif ou "clos" pour dossier clos) que je recherche est en colonne AA dans chaque feuille du calendrier.
Ce que j'aimerai, c'est copier la ligne de chaque dossier ouvert dans une seule feuille ("courant") à partir de la cellule A11. L'ideal etant que la procedure commence par screener la feuille janvier, puis ensuite la feuille fevrier et ainsi de suite. Pour chaque feuille du calendrier, la plage à analyser est AA11:AA79.

Merci beaucoup d'avance pour votre aide.
J'ai bien cherche sur le forum un cas identique. Mais je n'ai rien trouve.
 
G

Guest

Guest
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Bonjour Sebaert, bienvenue sur le forum,

Crées ton propre fil de discussion pour exposer clairement ton problème et après avoir été lire la charte du forum qui te dira comment mettre toutes les chances de ton côté d'avoir des réponses pertinentes.

A+
 

sebaert

XLDnaute Nouveau
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant


Bonjour et merci beaucoup pour la rapidite de la reponse.

Je joins à ma requete un tableau comprenant plusieurs onglets ainsi qu'une tentative de macro (à partir d'un de vos posts). Malheureusement, elle ne tourne pas...
Je cherche à
- 1. identifier les lignes des tableaux dans les feuilles "janvier", "fevrier", "avril" comprenant le champ "courant" (en colonne AA),
- 2. copier toutes les lignes identifiees dans le tableau de l'onglet "courant"

La solution non macro serait de filtrer en AA pour n'avoir que les lignes comprenant le champ "courant", puis les copier et coller dans le tableau de l'onglet "courant".

Merci beaucoup d'avance pour votre aide.

Sebaert

PS. j'avoue ne pas avoir trouve comment ouvrir un fil de discussion.
 

Pièces jointes

  • C1_testmacro.xlsm
    36 KB · Affichages: 172

flyonets44

XLDnaute Occasionnel
Re : Macro pour Recherche d'un mot clé dans un tableau et copie du bloc correspondant

Bonjour
en retour ton fichier avec une solution qui identifie le mot cherché
tu n'as plus qu' à adapter
Cordialement
Flyonets
 

Pièces jointes

  • Sebaert.xls
    74 KB · Affichages: 333

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…