Mettres des espace entre les caracteres

Bonjour, je suis nouveau sur le site. En effet, je dois écrire un programme qui crée un fichier ou il y'a du texte et des réels qui sont séparés par des espaces qui varient (comme dans le 1ier fichier joint> Ce que je dois avoir).

Mon probleme, comme vous le voyer dans la 2ieme capture (ce que mon programme donne > ce que j'ai) est que les champs sont décallés quand les caractères passent de 1 chiffres a un nombre a deux chiffres. Cela est embêtant pare ce que dans le programme, y'a des nombres a 6 chiffres.

Est ce que c'est peut être possible de faire une fonction qui calcule le nombre d'espace a mettre quand c'est un nombre a 3,4 ou § chiffres?

dans ce cas je ne saurais pas le faire

Merci de bien vouloir répondre si quelqu'un peut m'aider

Voici la partie du code qui a print la capture 2

Le FR est une fonction

For k = 1 To Sheets("Feuil1").Cells(5, 22).Value

Print #1, "CROD " & Fr(ad + k) & " " & Fr(Sheets("Feuil1").Cells(4, 1)) & " " & k & " " & Fr(k + 1)

Next k

af = ad + k - 1

For i = 1 To Sheets("Feuil1").Cells(5, 22).Value

Print #1, "CROD " & Fr(af + i) & " " & Fr(Sheets("Feuil1").Cells(4, 1)) & " " & Fr(ae + i) & " " & Fr((ae + (i + 1)))

Next

ag = af + i - 1

Print #1, "$ Elements and Element Properties for region : P2"

Print #1, "PROD," & Fr(Sheets("Feuil1").Cells(5, 1)) & "," & Fr(Sheets("Feuil1").Cells(5, 2)) & "," & Fr(Sheets("Feuil1").Cells(5, 3))

Print #1, "$ Pset: P2 will be imported as: prod.2"

For l = 1 To Sheets("Feuil1").Cells(5, 22).Value

Print #1, "CROD " & Fr((ag + l)) & " " & Fr(Sheets("Feuil1").Cells(5, 1)) & " " & Fr((ae + l - 1)) & " " & Fr(ae - l)

Next l

ah = ag + l - 1

For j = 1 To Sheets("Feuil1").Cells(5, 22).Value

Print #1, "CROD " & Fr(ah + j) & " " & Fr(Sheets("Feuil1").Cells(5, 1)) & " " & Fr(aj + j - 1) & " " & Fr(aj + j)

Next j

ai = ah + j - 1

capture 1 capture 2

bonjour,

une solution avec une fonction de formatage.

x=formatfixe(1,6) -> x contiendra "1bbbbb"

x=formafixe(10,6)-> x contiendra "10bbbb" ou b est un espace

Function formatfixe(n, l, Optional car = " ")
    formatfixe = n & String(l - Len(n), car)
End Function

exemple d'appel de la fonction dans ton code

Print #1, "CROD " & formatfixe(Fr(af + i),6) & " " & formatfixe(Fr(Sheets("Feuil1").Cells(4, 1)),6) & " " & formatfixe(Fr(ae + i),6) & " " & formatfixe(Fr((ae + (i + 1))),6)

ah c'est parfait, ca marche exactement comme tu l'a dis @h2so4 . Merci de l'attention portée

J'aurais une autre question qui ne concerne pas les espaces, mais que c'est différent du titre, je vais lancer un autre sujet

Encore Merci

Rechercher des sujets similaires à "mettres espace entre caracteres"