Excel:suppr tte lignes contenant un mot

KIm -  
chtilou Messages postés 1704 Statut Membre -
Bonjour,

je dois faire un trie organisé d'un fichier excel , je dois suivre plusieur étape , (excel 2007):
(précision le fichier excel est trés volumineux , des centaines de milliers de lignes ...)

- premierement , je dois supprimer toute les lignes contenant le mot "?unknown"
- ensuite je dois remplacer un bout de phrase par une autre pour une multitude de ligne
-enfin je voudrais savoir :

je ne peux pas être précis sur la nature du document il est confidentiel , mais en résumé il s'agie de succession de ligne contenant chacune des données séparé par une virgule.
Je voudrais savoir s'il était possible que , pour chaque ligne , a chaque virgule , excell créer une collonne pour ces données.
Ce qui donnerai :

xxxxxxxxxxxx, yyyyyyy, zzzzzzz, ooooooo

xxxxxxxxxxx yyyyyyyyy zzzzzzzzzz ooooooooo

Merci d'avance pour votre aide
A voir également:

11 réponses

Remad Messages postés 1694 Statut Membre 716
 
Pas besoin de poster plusieurs fois !
0
KIm
 
pour la séparation au moment de la virgule , cela a mal était présenté dans mon post , le but est de vraiment séparer chaque donné aprés la virgule

Donnée1 Donnée2 Donnée3
Donnée1 Donnée2 ...........
Donnée1 .............
Donnée1
Donnée1
Donnée1
Donnée1
Donnée1
Donnée1
Donnée1
Donnée1
Donnée1
0
KIm
 
je m'excuse mais je me suis rendu compte que j'avais posté dans la mauvaise section , d'ou le double post
0
KIm
 
edit :

je me suis mal exprimé concernant la séparation des lignes

en faite mes lignes contiennent des données séparées par une virgules et je voudrais stocké chaque donné dans une collone

donnée1, donnée2, donnée3, donnée4

A1 D1 etc


Donnée1 Donnée2
Donnée1 Donnée2
....
0
chtilou Messages postés 1704 Statut Membre 523 > KIm
 
Bonjour,
Est ce que le nombre de caractères avant la virgule est fixe?
0
Kim > chtilou Messages postés 1704 Statut Membre
 
non il varie selon les lignes
0
Kim > Kim
 
pour être plus précis , les lignes sont de ce type
(en une seul cellule toujours)


C:\\...\...\, (detail), (detail), (detail)

et je voudrais donc que pour chaque donné avant virgule , il les stock dans une collone .

C:\\....\.. dans la premiere collone
(detail) dans la deuxieme etc..
0
chtilou Messages postés 1704 Statut Membre 523
 
Re,

regarde si ceci te convient.
0
kim
 
Oui c'est exactement ce que je voudrais.
0
kim > kim
 
j'ai essayer de mettre tes formules et j'obtient le message suivant :


#VALEUR
0
kim > kim
 
edit : Ca fonctionne pour la premiere partie entre virgule !

par contre les autres #VALEUR! , erreur de formule

merci pour ton aide
0
chtilou Messages postés 1704 Statut Membre 523 > kim
 
j'ai essayer de mettre tes formules et j'obtient le message suivant : #VALEUR

C'est très vague...

j'ai essayer de mettre tes formules
Ou et comment?

Si besoin envoie ton fichier par ici.
0
kim > chtilou Messages postés 1704 Statut Membre
 
Toutes les lignes sont de la forme suivante :

(localisation), (nom), (detail)

ce que tu m'a donné fonctionne pour la premiere colonne , c'est a dire que lorsque je remplace ce que tu as mis dans la 1ere colonne par ma ligne , j'obtient bien dans la 1ere colonne le contenu (localisation) par contre , dans les deux autres
j'ai des erreurs et n'ont pas le reste du contenu entre virgule de la ligne

j'espere avoir été un peu plus clair , merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chtilou Messages postés 1704 Statut Membre 523
 
Donc:
C:\DATA\POW\GROUPES\Man\Assembly\Sébastien\2008\Documentations techniques L54-1\Papiers L54-1\,EUR\FRSTR-POW_RO ,R X R X <> aussi

en effet il n'y a pas d'espace entre la virgule et le 2éme argument. ;-(

\,EUR <> \, EUR

=DROITE(GAUCHE($A$1;TROUVE(",";$A$1;NBCAR(B$1)+2)-1);NBCAR(GAUCHE($A$1;TROUVE(",";$A$1;NBCAR(B$1)+2)-1))-NBCAR(B1)-1)
0
kim
 
oui il n'y a pas d'espace entre le 1er et le second

j'ai taper ta ligne a la place de la précédente dans : C1

j'obtient une erreur :(
0
kim > kim
 
=DROITE(GAUCHE($A$1;TROUVE(",";$A$1;NBCAR(B$1)+2)-1);NBCAR(GAUCHE($A$1;TROUVE(&q­uot;,";$A$1;NBCAR(B$1)+2)-1))-NBCAR(B1)-1)

l'erreur se situe au niveau de " apparement
0
kim > kim
 
(&q­­uot
0
kim > kim
 
Excuse moi pour les erreurs dans ma demande , c'est vrai qu'en informatique aucun détail ne dois etre négliger.

Apres plusieurs vérifications voici le modele correct donc :

aaaa,bbbb ,cccc

donc pas d'espace entre le 1er et le second argument

PROBLEME ACTUEL :

il manque la premiere lettre du second argument
0
kim > kim
 
chtiloup , tu vois ou se trouve le probleme stp ?
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Sinon pour redistribuer des données comme ça il y a le menu 'données / convertir...', type de fichier 'délimité' où l'on indique le séparateur et excel répartit sur plusieurs colonnes.

eric
0
chtilou Messages postés 1704 Statut Membre 523
 
Salut Eric.

J'avais pensé à une macro du genre ci dessous, elle fonctionne très bien sauf que à la fin j'ai droit à "incompatibilité de type".

J'ai posté en programmation mais sans succès pour l'instant.

Je crois savoir que tu touches ta bille de ce coté là (aussi) donc si tu veux y regarder ;-)

Sub ModifColonnes()

Dim a As Long
Dim b As Long
Dim c As Long


a = Range("C65536").End(xlUp).Row

For b = a To 1 Step -1

If Cells(b, 3).Value = "C:\DATA\POW\GROUPES\" Then

Cells(b, 3).Value = "S:\Intern"


End If

Next b

c = Range("B65536").End(xlUp).Row

For b = c To 1 Step -1

If Cells(b, 2).Value = "?unknown" Then

Rows(b).Select
Selection.Delete Shift:=xlUp

End If

Next b

End Sub
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
rhoooo, tu me deçois là !!! ;-)
même pas un fichier joint en exemple pour qu'on n'ait pas besoin de le construire...
0
chtilou Messages postés 1704 Statut Membre 523
 
Mdrrrrrrrr,

en fait j'ai rien de plus.
Pour tester je fait du copier copier/coller des textes en conditions. ;-(
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Je n'ai pas d'erreur...
Sûrement dans des conditions particulières.
Sinon tu peux raccourcir
Rows(b).Select
Selection.Delete Shift:=xlUp
en
Rows(b).Delete Shift:=xlUp

eric
0
chtilou Messages postés 1704 Statut Membre 523
 
Oupsssssss,

effectivement je viens de la recopier dans un nouveau classeur et c'est OK.
J'ai souvent une session Excel ouverte et je bidouille pour trouver ou vérifier des formules et des macros.
Certainement rapport à ça.

En tout cas merci pour le raccourci. ;-)

Amicalement.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
tout va bien alors.. :-)
Je rappelle à kim le post 34 (un peu noyé maintenant) qui peut l'interesser
Bonne soirée tout le monde
0
kim
 
bonjour à tous , j'ai un nouveau problème avec les formule qu'on ma donné .
c'est a dire :

=GAUCHE(A3;TROUVE(",";A3;1)-1)

=DROITE(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2)-1);NBCAR(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2)-1))-NBCAR(B3)-1)

=DROITE(A3;NBCAR(A3)-NBCAR(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2))))

Mon but est de créer un fichier excel permettant de stocker dans plusieur colonne , des lignes qui ne sont que sur une seul.Il faut que tout cela soit trés simple pour l'utilisateur , il copie sa ligne dans la cellule A1 , et automatiquement , sur la meme ligne , la ligne est séparé en 3 colonnes

les lignes sont tjs du même type , a savoir : C:\Data\etc,usersname(ici en fonction des lignes , il a plus ou moins beaucoup d'espace avant la prochaine virgule) ,detail

pour les formules que ma donné chtiloup , elle fonctionne parfaitement pour la premiere ligne .
Cependant , en "étirant la formule" pour l'aplliquer sur plusieurs lignes , je rencontre des problemes :
Pour la seconde ligne , la premier colonne est correct , j'obtient bien le premier mot , ensuite ca devient faux , la deuxieme colonne contient le second mot de la premiere ligne , quant a la dernier colonne est ne contient rien.

Dois-je m'y prendre autrement pour faire glisser la formule a tout le document ?
0
kim
 
je vous rajoute les formules de la deuxieme ligne , obtenu en fesant glisser la premiere.

=GAUCHE(A4;TROUVE(",";A4;1)-1)

=DROITE(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2)-1);NBCAR(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2)-1))-NBCAR(B4)-1)

=DROITE(A4;NBCAR(A4)-NBCAR(GAUCHE($A$3;TROUVE(",";$A$3;NBCAR(B$3)+2))))

je rapel le structure des lignes tjs la meme :

C:\\DATA\etc,username(bcp d'espace) ,detail

Bonne journée
0
chtilou Messages postés 1704 Statut Membre 523 > kim
 
Salut Kim,

Supprime les "$" dans les formules 2 et 3. ;-)

PS:
Eric te fait remarqué sur le post 34, une fonctionnalité d' Excel que je ne savais pas présente sur Excel 2003.
As tu regardé si cette fonction peut en une seule manip résoudre ton problème?

A ton écoute.
0
kim > chtilou Messages postés 1704 Statut Membre
 
Bonjour chtiloup ,

En effet la manip permet de faire le trie en 2 clique mais comment automatisé cette manip.
il faudrait qu'un utilisateur n'ai qu'a copier ses lignes dans la premiere colonne , ensuite le trie dois se faire auto
0
chtilou Messages postés 1704 Statut Membre 523 > kim
 
En enregistrant une macro.
Une fois la macro enregistrée tu l'associe à un bouton.
Dés que l'utilisateur à terminé la copie de ses lignes il appui sur le bouton mise à jour et oupsssssss.

(fait coucou à Eric. :-|)

Ensuite regarde ici. ;-)
0
kim > chtilou Messages postés 1704 Statut Membre
 
merci bcp chtiloup ,

tu pourrais me faire le meme genre de Bouton pour une macro sui remplacerai "(texte)" par "(autre texte)"
dans la meme macro un autre remplacement d'un texte différent "(texte)" par "(autre texte)"
et qui suprimer tout les lignes ou il y a le mot ?unknown

merci bcp pour ton aide
0
kimo
 
Bonjour à tous ,

j'ai besoin de votre aide pour automatiser quelques procédure excel .
d'avance , merci pour toute aide

Tout d'abbord mon document est de la façon suivante :

Il contient 3 colonnes (A, B et C) .
Chaque lignes est comme ceci : (ACCES) dans la colonne A , (UTILISATEUR) dans la colonne B et (DETAIL) dans la colonne C.

Il me faudrait des maccros pour faires les choses suivante :

- je souhaite définir sur une ligne , un ensemble de mot pour lesquels :
A chaques fois que ces mots sont trouvés , il faudra supprimer les lignes entieres.

- je souhaite définir une autre ligne pour laquel , a chaque fois que le mot défini est trouvé , il faudra uniquement supprimer ce mot.

- j'ai également des remplacements de bout de phrase a faire :
je souhaite définir sur une ligne , un ensemble de bout de phrase qui seront remplacé par d'autre
exemple dans A1 je met le texte a recherché et dans A2 le texte qui va le remplacé
et ainsi de suite , le tout en une macro.

- et derniere chose , je voudrais définir un texte sur une ligne pour lequel , si une ligne ne contient pas exactement ce texte , elle est supprimé mais uniquement les lignes contenant tout de meme ce texte , exemple :

UN CHAT
UN CHAT NOIR
UN CHAT NOIR ET GRIS
UN CHIEN
UN CHEVAL

dans ma ligne , je définit le texte : "UN CHAT"
donc seront suprimé les lignes UN CHAT NOIR ET UN CHAT GRIS car elle contienne certe le mot UN CHAT mais il y a d'autre mot ...

j'espere que vous aurez compris mon idée , c'est assez difficile d'être clair , merci a tous !
0
chtilou Messages postés 1704 Statut Membre 523
 
0