Comment supprimer desoccurrences sur Excel 07

Fermé
Pogona Messages postés 2 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 11 juin 2010 - 11 juin 2010 à 23:22
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 13 juin 2010 à 20:32
Bonjour,

Bonjour,

J'ai télécharger un texte très long sur Excel. Le problème est qu'il y a un n° de ligne entre parenthèse pour chaque ligne, et je dois les enlever. Cela me fait un peu moins de 70000 occurrences à supprimer. Pitié, savez-vous si je peux le faire de manière automatique?
La fonction rechercher n'est pas une bonne solution.
Merci d'avance

Hammouda

A voir également:

3 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
11 juin 2010 à 23:25
bonjour,

oui c'est tout à fait possible avec une macro VBA par exemple. Mais pour la faire il faudrait déjà avoir un peu plus de détails . Le numéro de ligne est-il toujours au début ou toujours à la fin ?

Y a t-il des espaces entre les parenthèses et le numéro ?

A quoi ressemble plus précisément ta feuille (il y a juste une colonne et 70000 lignes ? Dans la colonne le type de variable est bien "Texte" ? )
0
Pogona Messages postés 2 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 11 juin 2010
11 juin 2010 à 23:33
Bonsoir

Le numéro de ligne est-il toujours à la fin

Il n'y a pas d'espaces entre les parenthèses et le numéro

Il y a 11 feuilles. Chacune contient une colonne de 6360 lignes, les lignes sont séparées par une ligne vide

Dans la colonne il y a un texte suivi d'un n° ex.
Pierre mange une pomme (1)

Marie verse de l'eau (2)


Merci
Hammouda
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
12 juin 2010 à 19:01
je suis en train de rechercher comment faire par macro, je te donne un retour dès que possible.
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
13 juin 2010 à 03:09
Alors voici la macro qui marche bien chez moi.

Elle crée une deuxième colonne qui va contenir les lignes de texte sans le numéro de fin entre parenthèses :
Sub NomDeLaMacro()
    
    ActiveSheet.Columns(1).Copy ActiveSheet.Columns(2)
    
    Dim c As Range, pos As Integer
    For Each c In ActiveSheet.Range("B:B")
        pos = InStrRev(c.Value, "(")
        If pos Then
            c.Value = Left(c.Value, pos - 1)
        End If
    Next
    
End Sub


Pour créer une macro, va dans menu outils -> macro -> nouvelle macro. Donne lui le nom que tu souhaites. Ensuite, appuies directement sur le bouton "stop" de la petite fenêtre qui s'affichera. Va dans le menu outils->macro->macros.... sélectionne ta macro et cliques sur "modifier".

Tu peux copier le texte ci-dessus (celui entre les lignes Sub NomDeLaMacro() et End Sub).

Ensuite, lorsque tu exécuteras la macro, tu devrais avoir la deuxième colonne apparaitre avec les bonnes valeurs.
Pense à faire une copie de sauvegarde avant, avec les macros on ne sait jamais ....
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
12 juin 2010 à 10:33
Bonjour,

Tu peux le faire par formule :
=SI(A2="";"";GAUCHE(A2;MAX(SI(STXT(A2;LIGNE($1:$100);1)="(";LIGNE($1:$100);0))-1))
formule matricielle à valider par shift+ctrl+entrée, à recopier vers le bas.
$100 doit être plus grand que ta plus grande phrase
S'il arrive que (x) ne soit pas précédé d'un espace enlève le -1 de la fin

Et tu termines en selectionnant la colonne de formules et copier/collage spécial valeur.

eric
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
12 juin 2010 à 19:00
salut j'ai testé, et je ne sais pas s'il y a un truc que je n'ai pas compris, mais ça ne fonctionne pas.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
12 juin 2010 à 20:24
Ah ?

Je viens de retester, pour moi c'est bon.
Tu as bien validé en matricielle et non par un simple enter ? Elle doit s'entourer de { }
eric
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
Modifié par Pacorabanix le 13/06/2010 à 03:09
j'ai essayé de faire shift+controle+enter, mais ça n'a pas mis d'accolades, non.
en fait, cette formule il faut la mettre où exactement , ça a une importance ?
(je ne sais pas ce que c'est qu'une formule "matricielle")
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
13 juin 2010 à 08:20
Bonjour,

Telle qu'elle est écrite elle est prévue pour être en ligne 2
Il faut que la formule soit en édition pour valider, donc avec le curseur qui clignote dans la zone d'édition des formules.
eric
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
13 juin 2010 à 20:32
excellent, merci de l'info, ça marche pour moi maintenant.
0