Garder seulement les cellules les plus a droite

Bonjour!

Je me trouve devant un petit soucis, qui malgré mes multiples recherches sur la toile n'a pas pu être réglé...

Je voudrais savoir comment est ce que je peux faire pour conserver uniquement la cellule la plus à droite sur n'importe quelle ligne de mon tableur excel, ou autrement dit supprimer toutes les cellules se trouvant à gauche de celle la plus à droite...^^

En espérant avoir été clair.. j'attends votre aide avec impatience!! je pense qu'une macro pourrait faire l'affaire mais je suis encore novice dans ce domaine et le temps presse je n'aurai pas le temps d'apprendre comment faire d'ici demain...

Merci beaucoup d'avance pour votre aide!!

Bonjour

"Supprimer toutes les cellules se trouvant à gauche de celle la plus à droite"

Petite précision:

supprimer toutes les cellules se trouvant à gauche de celle la plus à droite contenant une valeur , une formule, ou non vide.

A te lire

Cordialement

bonjour amadeus,

Désolé pour le manque de précisions, toutes mes cellules ne contiennent que des valeurs.

Merci d'avoir répondu aussi vite.

Pour approfondir, j'ai une liste de chemins issue d'un fichier texte que j'ai importé dans excel. J'ai ensuite séparé, sur chaque ligne (1ligne=1chemin), mon chemin en plusieurs cellules grace aux "\" et à la fonction "convertir". Le but de ma démarche est de ne converser que les noms de fichiers. Dans un premier j'ai commencé manuellement en pensant que cela se ferait rapidement... Mais je n'y étais pas^^ la feuille traitée comporte environ 10000 lignes...

6projet-h-v2.rar (287.40 Ko)

Autre précision je possède une macro me permettant par la suite de supprimer toutes les cases vides se trouvant à gauche de mes cellules restantes afin de retrouver toutes mes données dans une seule colonne.

Sub supp_lignes()

'

'Dim myCtrl, dernLigne, I

'détermine le numéro de la dernière ligne utilisée

dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1

'désactive la mise à jour de l'écran afin d'accélérer les traitements

Application.ScreenUpdating = False

'Pour toutes les lignes en partant de la dernière

For I = dernLigne To 1 Step -1

'La fonction Excel CountA correspond à =NBVAL

If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then

Rows(I).Delete Shift:=xlUp

End If

Next I

End Sub

Bonjour peter2302

Ton explication me fait réfléchir...Il y a peut-être une solution plus facile dés le départ, c'est à dire après l'importation des données, avec une formule d'extraction, qui éviterait la conversion.

Pourrais tu donner un exempe de 2 ou 3 lignes importées pour voir.

En attendant, tes données étant sous forme de Texte, pour avoir la valeur des derniéres cellules, une méthode simple.

1) Insérer une colonne avant col A

2) Formule en A2 par ex =RECHERCHE("zz";B2:IV2) ou tu remplace B2:IV2 par ta denière colonne, ou une colonne quelconque après la dernière B2:Z2 etc..

3) Incrémenter jusqu'au bas

Si tu veux ne conserver que ces données

4) Sélectionner colonne A et Copier puis Collage-Spécial-Valeur

5) supprimer colonnes de B à ....

Bien sur, si ta manip doit être répétitive, une Macro sera plus utile.

Cordialement

edit: tu as mis ton second message pendant que j'écrivais le premier. Je ne suis pas fort en VBA, mais il me semble que ta macro ne supprime que les lignes vides, pas les colonnes inutiles.

voila un fichier exemple pour mieux cerner mon soucis

https://www.excel-pratique.com/~files/doc/e6AaJexemple1.xls

Si si amadeus, j'utilise la macro ci dessus qui marche parfaitement de mon coté elle permet la suppression de toutes les cellules vides se trouvant sur la gauche de celle décalée puis la place dans la colonne A.

up ^^ on sait jamais!

Re Bonjour

Ton fichier exemple n'était pas tout à fait ce que j'attendais, mais, bon, j'ai reconstitué ton extraction et je confirme que:

Au lieu de faire les manipulations de conversion, tu peux obtenir le résultat avec une formule directe appliquée sur ton texte complet.

Ex texte en A1

Formule en B1

=DROITE(A1;NBCAR(A1)-CHERCHE("µ";SUBSTITUE(A1;CAR(92);"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;CAR(92);"")))))

Exemple

https://www.excel-pratique.com/~files/doc/exemple_V1.xls

A partir de là Copier collage spécial valeur sur colonne B et suppression de la colonne A, et tu obtiens le même résultat.

Cordialement

parfait! merci beaucoup! c'est exactement ce qu'il me faut! Bonne continuation!!

17projet-h-v2.xlsm (260.82 Ko)

Bonjour

Avec une Macro

1) Suppression des lignes vides

2) Extraction

(je n'ai pas supprimé la colonnes des données pour que tu puisses contrôler le résultat. Pour aller jusqu'au bout, tu activeras les derniéres lignes de la macro en supprimant les apostrophes)

https://www.excel-pratique.com/~files/doc/exemple_V3.xls

Cordialement

Je profite de ce post pour poser une petite question:

J'ai testé le vba pour supprimer les lignes vides et ça marche très bien.

Cependant je ne comprends pas à quoi sert le

Shift:=xlUp

car le résultat est identique sans cela.

Merci d'avance

Bonjour

Pour ma part, je n'ai fait que rajouter le code de traitement des données à celui qui existait déjà dans le fichier pour supprimer les lignes vides et je n'ai donc pas fait attention.

Cordialement

Rechercher des sujets similaires à "garder seulement droite"