Supprimer espace et conserver gras
Résolu
goodsayan
-
Carine -
Carine -
Bonjour,
J'ai un petit soucis avec des nombres précédés d'un espace. J'utilise donc la fonction REMPLACER(Cell,1,1,"") qui fonctionne bien mais malheureusement cela ne me conserve pas les caractères en gras.
J'ai essayé également en faisant "convertir" qui donne le même résultat que la fonction REMPLACER mais qui aussi ne me conserve pas les nombres en gras...
Comment faire pour supprimer cet espace et surtout conserver le gras initial?
Merci
J'ai un petit soucis avec des nombres précédés d'un espace. J'utilise donc la fonction REMPLACER(Cell,1,1,"") qui fonctionne bien mais malheureusement cela ne me conserve pas les caractères en gras.
J'ai essayé également en faisant "convertir" qui donne le même résultat que la fonction REMPLACER mais qui aussi ne me conserve pas les nombres en gras...
Comment faire pour supprimer cet espace et surtout conserver le gras initial?
Merci
A voir également:
- Espace blanc copier coller
- Espace insécable - Guide
- Historique copier coller - Guide
- Espace de stockage gmail plein - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
20 réponses
Bonjour,
La macro présente dans le fichier ci-joint remet tes données correctement.
http://www.cijoint.fr/cij112130563231611.xls
Sélectionner la zone à traiter (dans n'importe quel classeur ouvert) et lancer la macro nbrGras().
Si ton exemple était représentatif de tes données ça doit être ok, il ne te reste plus qu'à choisir le format d'affichage.
eric
La macro présente dans le fichier ci-joint remet tes données correctement.
http://www.cijoint.fr/cij112130563231611.xls
Sélectionner la zone à traiter (dans n'importe quel classeur ouvert) et lancer la macro nbrGras().
Si ton exemple était représentatif de tes données ça doit être ok, il ne te reste plus qu'à choisir le format d'affichage.
eric
Un nombre précédé d'un espace sous Excel n'est plus un nombre, mais du texte même si on peut y effectuer une opération, c'est à éviter.
A ma connaissance impossible de copier une mise en forme dans une autre cellule à moins de faire du copier->collage special -> Formats
ou plus idiot : mise en forme conditionnelle : si la valeur de la cellule est différente de "" alors mettre en gras...
Une solution directe à ton problème est de faire Edition -> Remplacer -> (espace) par (rien) sur toutes les cellues sélectionnés. Regarde si tu n'a pas le caractère ' en début de ligne qui signifie que c'est du texte, mais qui n'est pas afficher dans la cellule.
A ma connaissance impossible de copier une mise en forme dans une autre cellule à moins de faire du copier->collage special -> Formats
ou plus idiot : mise en forme conditionnelle : si la valeur de la cellule est différente de "" alors mettre en gras...
Une solution directe à ton problème est de faire Edition -> Remplacer -> (espace) par (rien) sur toutes les cellues sélectionnés. Regarde si tu n'a pas le caractère ' en début de ligne qui signifie que c'est du texte, mais qui n'est pas afficher dans la cellule.
Le probleme c'est que seulement quelques chiffres sont en gras et pas tous... donc la solution "mise en forme conditionnelle" n'est pas bonne.
J'ai deja testé l'autre solution Edition -> Remplacer -> (espace) par (rien) mais excel ne trouve pas de correspondance...
J'ai deja testé l'autre solution Edition -> Remplacer -> (espace) par (rien) mais excel ne trouve pas de correspondance...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Si la configuration de votre tableau le permet, vous pouvez peut être simplement faire un copier collé format, soit de la colonne d'entrée vers la colonne résultat, soit de l'ensemble de l'entreé sur l'enesmeble ds résultats si ls tableaux ont la même configuration:
Le meilleu moyen à mon avis:
recréer une feuille avec votre formule REMPLACER en correspondance directe avec les cellules de la feuille d'entrée
faite un copier /coller /format sur l'ensemble de la feuille, vous retrouverez la configuration intiale
Eventuellement avec une simple macro si vos tableaux doivent évoluer.
BCRDLMNT
--
Science sans conscience n'est que ruine de l'Ame
Si la configuration de votre tableau le permet, vous pouvez peut être simplement faire un copier collé format, soit de la colonne d'entrée vers la colonne résultat, soit de l'ensemble de l'entreé sur l'enesmeble ds résultats si ls tableaux ont la même configuration:
Le meilleu moyen à mon avis:
recréer une feuille avec votre formule REMPLACER en correspondance directe avec les cellules de la feuille d'entrée
faite un copier /coller /format sur l'ensemble de la feuille, vous retrouverez la configuration intiale
Eventuellement avec une simple macro si vos tableaux doivent évoluer.
BCRDLMNT
--
Science sans conscience n'est que ruine de l'Ame
Ton explication n'est pas suffisamment précise pour que nous puissions t'aider : Tu vois bien qu'à chaque solution qu'on te propose tu ajoutes une caractéristique nouvelle ! Qu'est-ce qui est en gras ? certaines cellules ? seulement quelques chiffres sont en gras et pas tous.
Et pourquoi dois-tu supprimer l'espace des nombres précédés d'un espace ? Pour concaténer plusieurs données ?
Le mieux serait que tu mettes en ligne ton fichier en utilisant http://cjoint.com/
Et pourquoi dois-tu supprimer l'espace des nombres précédés d'un espace ? Pour concaténer plusieurs données ?
Le mieux serait que tu mettes en ligne ton fichier en utilisant http://cjoint.com/
goodsayan,
Edition remplacer espace par rien doit forcément fonctionner... sinon il n'y a pas d'espace et ta fonction =Remplacer ne marcgerais pas...
Il y a peut-être un autre problème...
Peut-tu nous copier coller ce qu'il y a dans une cellule avec blanc (copie la barre de formule et non la cellule) ? Ca nous aidera.
En tout cas il n'est pas possible de faire 2 manips en même temps : supprimer les blancs et copier le format.
Edition remplacer espace par rien doit forcément fonctionner... sinon il n'y a pas d'espace et ta fonction =Remplacer ne marcgerais pas...
Il y a peut-être un autre problème...
Peut-tu nous copier coller ce qu'il y a dans une cellule avec blanc (copie la barre de formule et non la cellule) ? Ca nous aidera.
En tout cas il n'est pas possible de faire 2 manips en même temps : supprimer les blancs et copier le format.
Si tu aime le VB voici un truc qui marche :
If Cells(1, 1).Font.Bold Then
Cells(1, 2).Font.Bold = "true"
Else
Cells(1, 2).Font.Bold = "false"
End If
Tu fait une boucle pour toutes tes cellules genre :
For i = 1 To 10
For j = 1 To 10
If Cells(i, j).Font.Bold Then
Cells(i + 10, j).Font.Bold = "true"
Else
Cells(i + 10, j).Font.Bold = "false"
End If
Next j
Next i
If Cells(1, 1).Font.Bold Then
Cells(1, 2).Font.Bold = "true"
Else
Cells(1, 2).Font.Bold = "false"
End If
Tu fait une boucle pour toutes tes cellules genre :
For i = 1 To 10
For j = 1 To 10
If Cells(i, j).Font.Bold Then
Cells(i + 10, j).Font.Bold = "true"
Else
Cells(i + 10, j).Font.Bold = "false"
End If
Next j
Next i
Merci pour vos idées mais ca marche toujours pas...
J'ai pas essayé le vba car j'y connais trop rien.
Je joins un bout de fichier.
https://www.cjoint.com/?lmqN2271Qw
J'ai pas essayé le vba car j'y connais trop rien.
Je joins un bout de fichier.
https://www.cjoint.com/?lmqN2271Qw
Simple :
Ton espace n'est pas un espace, mais un espace insécable.
Sélectionne une cellule qui contient un espace, copie le et fait Edition Remplacer : colle le caractère en mémoire et fait remplacer tout.
Sinon autre point, les chiffres sont avec des points et ne sont donc pas considérés comme des nombres car mon système régional est à virgule. Je ne sais si c'est ton cas, mais en remplaçant les . par des , je pouvais alors faire toute sortes d'opérations.
Ton espace n'est pas un espace, mais un espace insécable.
Sélectionne une cellule qui contient un espace, copie le et fait Edition Remplacer : colle le caractère en mémoire et fait remplacer tout.
Sinon autre point, les chiffres sont avec des points et ne sont donc pas considérés comme des nombres car mon système régional est à virgule. Je ne sais si c'est ton cas, mais en remplaçant les . par des , je pouvais alors faire toute sortes d'opérations.
Bonjour,
Voici la fonction qui supprime les espaces et en ce qui concerne le gras initial , il faut utiliser une macro
comme le message 7
=SUPPRESPACE(A2)
Voici la fonction qui supprime les espaces et en ce qui concerne le gras initial , il faut utiliser une macro
comme le message 7
=SUPPRESPACE(A2)
J'ai bien les "." comme séparateur et non une ","
Toutes les manip proposées sous excel me supprime le gras...
J'ai donc essayé la macro du message 7
Sub gras ()
For i = 1 To 10
For j = 1 To 10
If Cells(i, j).Font.Bold Then
Cells(i + 10, j).Font.Bold = "true"
Else
Cells(i + 10, j).Font.Bold = "false"
End If
Next j
Next i
End Sub
Cela me change juste la cellule A13 qui devient non gras mais cela ne m'enleve pas les espaces insécables devant les nombres...
D'ailleurs je ne comprends pas vraiment ce programme.
Que veut dire Cells(i + 10, j).Font.Bold = "true" ? Si la cellule i+10 est en gras alors vrai? Mais ca sert a quoi?
C'est ou dans les instructions que l'on supprime les espaces?
Merci
Toutes les manip proposées sous excel me supprime le gras...
J'ai donc essayé la macro du message 7
Sub gras ()
For i = 1 To 10
For j = 1 To 10
If Cells(i, j).Font.Bold Then
Cells(i + 10, j).Font.Bold = "true"
Else
Cells(i + 10, j).Font.Bold = "false"
End If
Next j
Next i
End Sub
Cela me change juste la cellule A13 qui devient non gras mais cela ne m'enleve pas les espaces insécables devant les nombres...
D'ailleurs je ne comprends pas vraiment ce programme.
Que veut dire Cells(i + 10, j).Font.Bold = "true" ? Si la cellule i+10 est en gras alors vrai? Mais ca sert a quoi?
C'est ou dans les instructions que l'on supprime les espaces?
Merci
Bonsoir,
J'ai regardé ton fichier et ce ne sont pas les cellules qui sont en gras mais les caractères à partir du 2nd.
Ca peut se récupérer par macro mais si tu en as peu c'est plus simple de le faire à la main.
eric
J'ai regardé ton fichier et ce ne sont pas les cellules qui sont en gras mais les caractères à partir du 2nd.
Ca peut se récupérer par macro mais si tu en as peu c'est plus simple de le faire à la main.
eric
Justement je travaille sur un fichier de 2000 lignes...
Je l'ai fait jusqu'a présent à la main mais si on peut trouver une solution je serais le plus heureux ;-)
Je l'ai fait jusqu'a présent à la main mais si on peut trouver une solution je serais le plus heureux ;-)
Cet "espace" qui te dérange est l'emplacement du signe "+". Il n'y a donc aucune raison, a priori, de vouloir le supprimer. S'il en existe une, peux-tu nous l'exposer ?
Heu un edition remplacer tout a parfaitement marché pour moi, et cela reste vraiment plus simple que la macro surtout si tu n'as pas l'habitude. Il suffit juste de mettre le bon caractère pour la recherche ; comme ce n'est pas un espace mais un espace insécable, il faut copier le caractère et le coller dans ta recherche. Tu auras l'impression d'avoir un espace (blanc), mais en fait cela correspond à l'espace que word met avant les doubles ponctuation : ; ? ... Pour t'en convaincre, colle ce caractère dans word, et tu verras apparaitre un petit rond.
Donc ne t'embête pas avec les macros et les fonction, un edition remplacer tout te fait le boulot en 10 secondes maxi pour tes 2000 lignes sans te préocupper du gras et pas gras.
Donc ne t'embête pas avec les macros et les fonction, un edition remplacer tout te fait le boulot en 10 secondes maxi pour tes 2000 lignes sans te préocupper du gras et pas gras.
Le raccourcis clavier pour ce caractère "espace" : ALT+0160
Donc pas de fonction, pas de macros, tu fais edition -> remplacer
Dans "rechercher" tu enfonces la touche Alt puis sans la relacher tu tapes 0160 sur ton pavé numérique (un espace aparait)
Dans "remplacer par" tu ne mets rien
Puis fait "remplacer tout"
Et voilou.
Donc pas de fonction, pas de macros, tu fais edition -> remplacer
Dans "rechercher" tu enfonces la touche Alt puis sans la relacher tu tapes 0160 sur ton pavé numérique (un espace aparait)
Dans "remplacer par" tu ne mets rien
Puis fait "remplacer tout"
Et voilou.
Autant pour moi, le carcactère espace insécable n'est pas en gras, donc le remplacement fait perdre tout formatage...
Seul la macro N°15 pourra te sauver.
Seul la macro N°15 pourra te sauver.
Sub NbrGras()
For Each Cel In Selection
If Cel.Characters(Start:=2, Length:=1).Font.FontStyle = "Gras" Then
Cel.Font.Bold = True
End If
If IsEmpty(Cel.Value) Or IsError(Cel.Value) Then
' rien faire
ElseIf Asc(Cel.Value) = 160 Then
Cel.Value = Mid(Cel.Value, 2) * 1
ElseIf IsNumeric(Cel.Value) Then
Cel.Value = Cel.Value * 1
End If
Next Cel
End Sub
For Each Cel In Selection
If Cel.Characters(Start:=2, Length:=1).Font.FontStyle = "Gras" Then
Cel.Font.Bold = True
End If
If IsEmpty(Cel.Value) Or IsError(Cel.Value) Then
' rien faire
ElseIf Asc(Cel.Value) = 160 Then
Cel.Value = Mid(Cel.Value, 2) * 1
ElseIf IsNumeric(Cel.Value) Then
Cel.Value = Cel.Value * 1
End If
Next Cel
End Sub