Concatener et Format

Yodelali à tous !

Je pense avoir besoin du VBA pour résoudre mon problème, me voilà donc !!!

J'ai une valeur que je dois formater de cette façon :

1,5E+03 doit changer en 1,5.103 ( le 3 en exposant !!! )

Pour le moment j'utilise du DROITE et du CONCATENER mais je finis avec du 1,5.103 sans le 3 en exposant... Bah oui, le CONCATENER casse la mise en forme ... snif.

Z'avez une soluce en VB ?

Merci d'avance !

Bonjour,

essaie déjà de le faire sur un texte dans une cellule.

Si tu y arrives tu dis comment, on verra en vba après.

eric

Bonjour,

non je n'y arrive pas justement.

Je me retrouve suite à mon concatener avec un 1,3.103 et c'est là que je pense que le VBA peut m'aider.

Il n'y a pas un code pour passer en expostant une partie d'une cellule ?

Sachant que j'ai un tableau de valeur similaire

Avec un For each c in worksheets("sheet1").Range("XX:XX")

et un code pour passer en exposant ?

Merci encore.

Bonsoir,

Si, tu pourrais mais ça serait du texte et pas un numérique utilisable dans les calculs.

  • saisis 1,5.103
  • dans l'édition sélectionne le 3 (lui tout seul)
  • clic-droit dessus, format de cellule, cocher exposant.
Plutôt lourd tu vois...

Et en vba comment peut-il deviner si tu as 1, 2 ou 3 chiffres à passer en exposant ?

eric

C'est bon j'ai réussi !

J'ai toujours 7 chiffre en tout et un seul à passer en puissance, mais parfois un signe > ou < !

Sub mef()
Dim c As Variant

For Each c In Worksheets("Rapport").Range("B7:O21")
c.Select

' Détecte si je n'ai pas de signe > ou < en plus du résultat
If ActiveCell.Offset(32, 0).Value = "" Then
       c.Characters(Start:=7, Length:=1).Font.Superscript = True
' Si j'ai un signe > ou < décale donc la mise en puissance de 1       
    Else
     c.Characters(Start:=8, Length:=1).Font.Superscript = True
End If
Next
End Sub

Fichtre j'ai un nouveau problème !!!

J'importe depuis Excel vers Word avec pour simplifier un :

s1 = Range("B7").Text
wrdDoc.Content.Find.Execute findtext:="s1", replacewith:=s1, Replace:=wdReplaceAll

Sauf que ma cellule s1 vaut 1,5.108 ( avec le 8 en exposant !!! ) et sur Word je récupère un 1.5.108 ( sans le 8 en exposant !!! ).

Quelqu'un saurait comment je peux m'y prendre pour récupérer mon exposant sous word ?

En automatisant un copier-coller peut être ( à la place de replacewith, mettre un truc du genre pastequelque chose ) ?

Bonjour,

là, sur word, je ne pourrais pas t'être d'un grand secours.

Désolé

eric

Personne n'aurait une petite idée ?

Je bloque pas mal sur ce sujet et j'ai un délais à respecter

J'ai pensé à un WordApp.Selection.Paste

Mais puis-je selectionner une zone dans Word en fonction d'un texte par exemple ?

wrdDoc.Content.Find.Execute findtext:="s1", replacewith:=s1, Replace:=wdReplaceAll

Le findtext pourrait-il être utilisé ou remplacé par quelque chose du genre selecttext ?

Rechercher des sujets similaires à "concatener format"