Copie de toutes les lignes où une cellule contient un texte donné

  • Initiateur de la discussion Initiateur de la discussion Mamoun77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Mamoun77

Guest
Bonjour,

Je cherche une fonction qui me permette de copier dans une feuille d'un classeur excel l'ensemble des lignes contenant une cellule avec un texte donné (sur une autre feuille).

Merci
 
Re : Copie de toutes les lignes où une cellule contient un texte donné

Bonsoir Mamoun77
La demande est assez vague, mais voyez tout de même le fichier joint...​
ROGER2327
#3686


Vendredi 27 Merdre 137 (Saints Courts et Longs, gendarmes, SQ)
25 Prairial An CCXVIII
2010-W23-7T23:34:21Z
 

Pièces jointes

Re : Copie de toutes les lignes où une cellule contient un texte donné

Bonsoir Mamoun77
La demande est assez vague, mais voyez tout de même le fichier joint...​
ROGER2327
#3686


Vendredi 27 Merdre 137 (Saints Courts et Longs, gendarmes, SQ)
25 Prairial An CCXVIII
2010-W23-7T23:34:21Z
Merci beaucoup pour l'aide,

La contrainte (que je n'ai pas signalée) est que je suis sur excel 2008 (Mac OS) dans sans vba et une incapacité à activer les macros,

Y a t-il une fonction équivalente ?

Merci encore

Mamoun
 
Re : Copie de toutes les lignes où une cellule contient un texte donné

bonsoir Mamoun, le forum,

j'ai peut-être une solution. Je l'avais fait pour un lecteur de code barre.

Le texte cherché est-il toujours dans la même colonne?

et le nombre de colonne de chaque ligne est-il toujours identique?

Car dans ce cas voici une solution.

en feuille 2 les formules et en feuille 1 les lignes à copier

En espérant que ça aidera😀
 

Pièces jointes

Re : Copie de toutes les lignes où une cellule contient un texte donné

Bonjour à tous


Pour répondre à une demande reçue en message privé, voici la version commentée du code proposé plus haut. (J'en ai profité pour nettoyer le code original de quelques scories.)​
VB:
Sub toto()
Dim i&, j&, k&, l&
Dim oDat, sDat(), oTxt$
   oDat = Feuil1.[A1].CurrentRegion.Value 'charge les données de la feuille Feuil1 (onglet DATA) dans le tableau oDat
   With Feuil2 'référence à la feuille Feuil2 (onglet SELECTION)
      oTxt = .[B1].Value 'charge le texte recherché dans la variable oTxt
      l = 1
      ReDim sDat(1 To UBound(oDat, 2), 1 To l) 'définit sDat comme tableau à autant de lignes que oDat comporte de colonnes, et à une ligne
      If oTxt <> "" Then 'vérifie que le texte cherché n'est pas la chaîne vide
         For j = 1 To UBound(oDat, 2) 'charge la premiére colonne de sDat avec la première ligne de oDat
            sDat(j, 1) = oDat(1, j)
         Next j
         For i = 2 To UBound(oDat, 1) 'parcourt chaque ligne de oDat, à partir de la deuxième
            For j = 1 To UBound(oDat, 2) 'pour chaque ligne de oDat, parcourt chaque colonne de oDat
               If oDat(i, j) Like "*" & oTxt & "*" Then 'vérifie que l'item oDat(i,j) contient le texte cherché
                  l = l + 1
                  ReDim Preserve sDat(1 To UBound(sDat, 1), 1 To l) 'ajoute une colonne à sDat (cette colonne est la l-ième)
                  For k = 1 To UBound(oDat, 2) 'charge la l-ième colonne de sDat avec la l-iéme ligne de oDat
                     sDat(k, l) = oDat(i, k)
                  Next k
                  Exit For 'passe directement à la ligne suivante de oDat
               End If
            Next j
         Next i
      End If
      .[A1].CurrentRegion.Offset(1, 0).ClearContents 'efface le résultat de la précédente recherche
      .[A2].Resize(l, UBound(sDat, 1)).Value = WorksheetFunction.Transpose(sDat) 'affiche le résultat de la recherche
   End With
End Sub


ROGER2327
#6442


Lundi 23 Gueules 140 (Occultation de Saint J Torma, euphoriste - fête Suprême Quarte)
29 Pluviôse An CCXXI, 6,2349h - chélidoine
2013-W07-7T14:57:50Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
168
Réponses
12
Affichages
353
Réponses
6
Affichages
327
Réponses
19
Affichages
865
Retour