Chercher texte dans plage de données + enlever les lignes vides

  • Initiateur de la discussion Initiateur de la discussion Flo35
  • 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 !

Flo35

XLDnaute Nouveau
Bonjour à tous,

En pièce jointe, un fichier qui m'aidera certainement à me faire comprendre.

Le but de l'exercice :

- copier chaque ligne d'une base de données si sur ces lignes là, on a une certaine valeur pour la cellule en colonne B

- Enlever toutes les lignes vides lorsque que la première étape est réalisée. De préférence, faire les deux en même temps sans devoir passer par filtres automatiques et tout le tintouin...

- Faire tout ça uniquement en manipulant du texte.


Le (gros) problème : je ne sais pas utiliser VBA, donc si je pouvais l'éviter j'en serais heureuse!...mais paraît il qu'un jour faut se lancer...🙄

Dans l'idéal, je ferais ça à partir d'une base de données en onglet 1 et les solutions en onglets 2 : est ce qu'il y a un moyen de "geler" (aussi automatiquement) les valeurs dans l'onglet 2 ?


Merci énormément de votre aide, le petit exemple envoyé est gentil, le vrai fichier comporte 30 000 lignes , d'où l'utilité de tout automatiser !!

Merci !😱
 

Pièces jointes

Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Flo35,
voilà le fichier en retour, mais tu parles de formule pour 30000 lignes ??, !!!!!
voilà en vba tu as un bouton cliques dessus et si ta liste fait 30000 lignes ce sera 2 ou 3 secondes de traitement pas plus
a+
papou🙂
 

Pièces jointes

Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Flo35,
Si personne ne propose de formule, j'ai fait un "petit code".
Je te fait la proposition.
Le code est dans le module 1 (Alt + F11 pour ouvrir l'éditeur puis dans le projet Forum(2) tu double click sur le module 1).
J'ai commenté au maximum les lignes.
En espérant que cela t'ira :
VB:
Sub Extract()
Dim i As Long, K As Long, Tablo(), Col As Long
Col = 4
K = 0
With Sheets("Feuil1")
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
        If .Cells(i, "B").Value = "non" Then
            K = K + 1
            ReDim Preserve Tablo(1 To Col, 1 To K)
            For J = 1 To Col
                Tablo(J, K) = .Cells(i, J)
            Next J
        End If
    Next i
End With
With Sheets("Feuil2")
    .Cells.ClearContents
    .Range("A1").Resize(K, Col) = Application.Transpose(Tablo)
End With
End Sub
Cordialement

EDIT Ouups, bonjour Paritec, je ne t'avais pas vu 😱
 

Pièces jointes

Dernière édition:
Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Efgé🙂 Flo35
comme cela elle a deux version différentes, la mienne est mieux si elle a un jour des dates car avec la fonction transpose c'est la misère mais bon
content de te croiser Efgé
a+
papou🙂
 
Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Efgé, Bonjour Paritec,

Merci pour vos deux réponses.

J'ai essayé de décortiquer vos deux formules vba (une première pour moi!), et si j'en ai compris une bonne partie, je pense que j'ai fait un exemple trop simplifié par rapport à la réalité... bref, il me manque quelques étapes pour l'adaptation.

Je vous remet un fichier plus proche de la réalité en pj.

Les différences :

- On ne copie pas 4 colonnes mais 15 colonnes : Si par exemple j'ai 60 colonnes et que je veux copier les B,C,G,M,O puis les mettre en A,B,C,D,E sur la feuille 2 ?

- Ce n'est plus oui ou non mais oui, non ou peut être + une autre condition.


... Et il y a effectivement des dates !!

Petite question subsidiaire pour Efgé : je n'ai pas compris l'histoire des redimensionnement du tableau vba : il faut toujours autant de lignes que de colonnes, c'est ça ?


En attendant, merci beaucoup !!! 😱
 

Pièces jointes

Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Flo35,
Bah oui c'est évident on pose une question qui n'a aucun rapport avec ce que l'on veut obtenir !!!!!!!!
bref je vais lire le fichier
a+
papou🙂
 
Re : Chercher texte dans plage de données + enlever les lignes vides

re Flo 35
Je viens d'ouvrir le deuxième fichier !! Franchement tu te moques de qui ???
tu remets le même genre de foutaise avec 4 colonnes ??
Et dans 2 heures tu vas revenir en disant bah ça marche pas!!
Tu peux pas prendre le temps de faire un bout de fichier avec le même nombre de colonne que dans ton vrai fichier?
Ou alors cela risque de te faire perdre du temps?
Tu ne veux pas faire d'exemple et en plus tu veux recopier les colonnes dans un ordre différent
avec la macro d'Efgé pour les dates gares aux inversions
voilà si tu n'as pas de temps pour un exemple c'est pas grave moi j'en ai pas non plus
en plus il y a trois condition que tu es incapable de déterminer, réellement as tu besoin d'aide? Je ne le pense pas car si tu en avais besoin, tu t'investirais un peu. Tout es possible avec vba(ou presque) mais il faut savoir quoi faire.
a+
papou🙂
 
Dernière édition:
Re : Chercher texte dans plage de données + enlever les lignes vides

Bonjour Flo35, Bonjour Paritec 🙂, le fil, le forum,

@ Flo35
Je plussois au propos de Paritec.
[😡] Si on demande au questionneur de poster un exemple pour appuyer ses propos, il va de soit que l'exemple doit être si gni fi ca tif... Soit tu donne une vision de la réalité du fichier, soit tu n'auras jamais de réponse adéquate. [\😡]
Pour:
Petite question subsidiaire pour Efgé : je n'ai pas compris l'histoire des redimensionnement du tableau vba : il faut toujours autant de lignes que de colonnes, c'est ça ?
C'est ça car après on le transpose, donc les lignes deviennent les colonnes et inversement

@ Paritec
Pour l'histoire des dates, je n'avais jamais rencontrer le problème. Il est vrai que le transpose est, semble-t-il, source d'erreur. En plus ton code est beaucoup plus rapide que le mien. J'avais essayé de faire "light" Flo35 ayant spécifié qu'elle ne connaissais pas VBA. Mais tout cela n'a de toute façon servi à rien....

Je reviendrai, si j'ai le temps, pour voir un véritable exemple de la structure des données en feuille 1 et de la structure du résultat attendu en feuille 2

Cordialement
 
Re : Chercher texte dans plage de données + enlever les lignes vides

Salut Fred🙂
oui tu peux être sur que si tu n'as jamais eu le cas tu l'auras c'est sur, moi j'étais emmerdé avec cela souvent surtout quand tu as des fichiers qui sont utilisés par plusieurs utilisateurs et donc plusieurs excel, tu peux être sur que deux fois sur trois tu as une embrouille avec les dates les mois à la place des jours et inversement,
c’est pour cela que maintenant systématiquement je compte mes lignes et je dimensionne dans le même ordre
amicalement a+
Papou🙂
 
Dernière édition:
- 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

Discussions similaires

Retour