Supprimer espace et conserver gras
Résolu/Fermé
A voir également:
- Espace blanc copier coller
- Espace insécable word - Guide
- Copier coller pdf - Guide
- Historique copier-coller android - Guide
- Copier-coller - Accueil - Windows
- Symbole clavier copier coller - Guide
20 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
13 nov. 2007 à 10:13
13 nov. 2007 à 10:13
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
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 253
12 nov. 2007 à 11:55
12 nov. 2007 à 11:55
as-tu essayé la mise en forme conditionnelle ? ç a devrait marcher.
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
12 nov. 2007 à 12:01
12 nov. 2007 à 12:01
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
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
12 nov. 2007 à 12:55
12 nov. 2007 à 12:55
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
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 253
12 nov. 2007 à 15:04
12 nov. 2007 à 15:04
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/
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
12 nov. 2007 à 15:34
12 nov. 2007 à 15:34
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.
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
12 nov. 2007 à 16:13
12 nov. 2007 à 16:13
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
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
12 nov. 2007 à 18:04
12 nov. 2007 à 18:04
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
13 nov. 2007 à 00:25
13 nov. 2007 à 00:25
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
goodsayan
Messages postés
61
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
8 décembre 2014
12
13 nov. 2007 à 00:40
13 nov. 2007 à 00:40
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 ;-)
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 253
13 nov. 2007 à 03:58
13 nov. 2007 à 03:58
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 ?
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
13 nov. 2007 à 10:49
13 nov. 2007 à 10:49
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.
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
13 nov. 2007 à 11:04
13 nov. 2007 à 11:04
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.
P4board
Messages postés
33
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
9 août 2022
26
13 nov. 2007 à 11:17
13 nov. 2007 à 11:17
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.
goodsayan
Messages postés
61
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
8 décembre 2014
12
13 nov. 2007 à 16:34
13 nov. 2007 à 16:34
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