Macro remplacer "-" par "fleche" dans une colone

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

sim

XLDnaute Occasionnel
Rererere-bonjour!😀

Situation

Sur la feuille en question presence s'une macro supprimant des lignes selon conditions:
Si une cellule de la colonne I est vide
Si une cellule de la colonne N a une valeur negative

Mais avant que la macro effectue cette operation j'aimerai qu'elle remplace
tout les "-" par "→" seulement dans la colone I.
Le nombre de ligne evolura dans le futur...

J'ai essayer a de nombreuses reprises de m'enregistrer, pas moyen de reussir a faire quelque chose qui fonctionne!!!

Alors j'en appel encore, si vous le voulez bien, a votre aide..😱

Merci beaucoup!!

Sim

PS: Ci dessous la Macro cite plus haut, au cas ou.....🙄

Sub supp()
Dim dl As Integer
Dim x As Integer

dl = Range("I65536").End(xlUp).Row
For x = dl To 1 Step -1
If Cells(x, 9).Value = "" Or Cells(x, 14) < 0 Then Rows(x).Delete
Next x
End Sub

Code creer par XLD Barbatruc Robert
 
Dernière édition:
Re : Macro remplacer "-" par "fleche" dans une colone

Bonjour sim, bond,

Je ne vois pas ce que ce remplacement de caractère vient faire avec la suppression des lignes, mais enfin...

Alors pour remplacer "-" par le caractère "à" en police "Wingdings", vous pouvez mettre ce code en fin de macro :

Code:
Dim plage As Range
Columns("I").Replace "-", "=1/0", LookAt:=xlWhole
On Error Resume Next
Set plage = Columns("I").SpecialCells(xlCellTypeFormulas, 16)
plage.Value = "à"
plage.Font.Name = "Wingdings"
Nota : "-" est remplacé s'il est le seul caractère dans la cellule.

A+
 
Dernière édition:
Re : Macro remplacer "-" par "fleche" dans une colone

Bond, le forum,

J'ai deja fait la manip manuellement, pour ca pas de probleme!

Le soucy, c'est qu'une fois que je serai parti, et lors de la mise a jour des donnes
l'utilisateur ne saura tres certainement pas faire, ou ne voudra tout simplement pas
s'embeter a faire cette manipulation.....

Donc je m'en remet a vos talents!!

Merci d'avoir essayer!!!

Sim
 
Re : Macro remplacer "-" par "fleche" dans une colone

Bonjour Job75, le forum

Voila un petit exemple, anonymise! lol

On s'apercoit qu'il y a d'autre caracteres que "-", des "." notamment

En gros les donnees present dans le tableau doivent etre travailler avant de remplir des tcd sur une autre feuille ( cette autre feuille
est mon rapport/application finale)

Par travailler les donnees j'entend:

Supprimer les lignes avec les conditions citees plus haut dans ce fil.
Et remplacer ces "-" par des fleches dans la colone I

Pourquoi cette derniere etape:
Parce que la colone I represente des flux entre differentes entreprise voila ce que represente les fleches

Dsl j'aurai peut etre du expliquer cela dans mon post de depart

Merciii beaucoup
 

Pièces jointes

Re : Macro remplacer "-" par "fleche" dans une colone

Re,

Mais finalement je pense que ce code est moins risqué :

Code:
Dim plage As Range
Columns("I").Replace "-", "#N/A", LookAt:=xlWhole
On Error Resume Next
Set plage = Columns("I").SpecialCells(xlCellTypeConstants, 16)
plage.Value = "à"
plage.Font.Name = "Wingdings"
En effet, il peut y avoir des formules qui renvoient une valeur d'erreur en colonne I...

A+
 
Re : Macro remplacer "-" par "fleche" dans une colone

Re,

OK, vu votre post #9.

Vous ne croyez pas que ceci pourrait amplement suffire :

Columns("I").Replace "-", "--->", LookAt:=xlPart

Car introduire un caractère spécial dans du texte, pas évident en VBA, il me semble 😕

A+
 
Re : Macro remplacer "-" par "fleche" dans une colone

Job75, Bond, le Forum

Si j'avais vu ton post #7 d'ou mon post#9!! Mais certainement petit decalage...alors pardon

J'ai essayer mais rien ce passe comme je suis plus qu'un profane j'ai coller ton code, dans la macro de base tel que:

Sub supp()
Dim dl As Integer
Dim x As Integer

dl = Range("I65536").End(xlUp).Row
For x = dl To 1 Step -1
If Cells(x, 9).Value = "" Or Cells(x, 13) < 0 Then Rows(x).Delete
Next x

Dim plage As Range
Columns("I").Replace "-", "#N/A", LookAt:=xlWhole
On Error Resume Next
Set plage = Columns("I").SpecialCells(xlCellTypeConstants, 16)
plage.Value = "à"
plage.Font.Name = "Wingdings"

End Sub

Donc comme je l'ai dit rien ne se passe lorsaue je lance la macro, (compte tenue du fait que la macro avait precedemment
supprimer certaines ligne, je ne me suis concentre que sur les changement de caracteres en colone I)

En gros je suis completement perdu....🙁
 
Re : Macro remplacer "-" par "fleche" dans une colone

Job75,

Ne pas considerer Post #12

Comme vous le dites, votre solution est amplement suffisant!!!! Je dirait meme plus c'est mieux!!

Probleme resolu

Merci beaucoup!
 
- 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

A
Réponses
2
Affichages
1 K
AlexAGEMS
A
C
Réponses
1
Affichages
740
N
Réponses
2
Affichages
3 K
N
B
Réponses
4
Affichages
2 K
benoitoleron
B
V
Réponses
2
Affichages
2 K
vynmarius
V
A
Réponses
4
Affichages
1 K
akrillon
A
L
Réponses
13
Affichages
2 K
N
Réponses
6
Affichages
3 K
Retour