Insérer le même caractère X fois en VBA

Tok-Ra

XLDnaute Junior
Bonjour le forum !!

Voila, j'ai une nouvelle question qui est surement assez simple mais je ne trouve pas la solution !

J'ai en vba besoin d'ajouter X espace après une valeur, pour trouver ce X je fais une opération toutes bêtes par exemple: 25 - Len(MaValeur) = X

Maintenant, j'aimerais pouvoir ajouter X fois le Chr(32) suite à une variable.

Comment puis-je faire ?

Merci pour vos réponse !
 

Pierrot93

XLDnaute Barbatruc
Re : Insérer le même caractère X fois en VBA

Bonsoir tok ra

pas sur d'avoir bien compris ta demande, mais regarde le code ci-dessous peut être pourra t-il t'aider :

Code:
Dim mavaleur As String, x As Byte
mavaleur = "123456"
x = 25 - Len(mavaleur)
mavaleur = mavaleur & Space(x)

bonne soirée
@+
 

Etienne2323

XLDnaute Impliqué
Re : Insérer le même caractère X fois en VBA

Bonsoir Tok-Ra,
tu peux esssayer quelque chose comme ceci peut-être.

Code:
Sub test()

Dim MaValeur As String
Dim X As Integer, i As Integer

MaValeur = "TaVariable"
X = 25 - Len(MaValeur)

For i = 1 To X
 MaValeur = MaValeur & Chr(32)
Next i

End Sub

Cordialement,

Étienne
 
C

Compte Supprimé 979

Guest
Re : Insérer le même caractère X fois en VBA

Re,

A ma connaissance la fonction REPT(), n'existe pas en VBA

Pour ajouter un certain nombre d'un caractère souhaité,
Il faut donc utiliser une bonne vieille boucle
Code:
Sub AjoutCarNFois()
  Dim MaValeur, I
  MaValeur = "TOTO"
  For I = Len(MaValeur) + 1 To 25
    MaValeur = MaValeur & "*"
  Next I
End Sub

A+

Edit : oups, salut Etienne2323
mon code est peut-être un peu plus optimisé ;)
 
Dernière modification par un modérateur:

Tok-Ra

XLDnaute Junior
Re : Insérer le même caractère X fois en VBA

Re à tous, Pierrot, Etienne !!
Merci pour vos propositions, elles fonctionnent toutes deux !!

Mais j'ai une petite préférence sur celle de Pierrot ou il suffit de mettre Space(X) qui met le nombre d'espace qu'il faut !!

Encore merci, décidement, ce forum est une superbe source d'information !!

-- EDIT --

Merci aussi Bruno ;) Decidement, tu m'aide souvent toi :D
 

Etienne2323

XLDnaute Impliqué
Re : Insérer le même caractère X fois en VBA

Bonjour à tous,
salut Bruno. je dois avouer que côté optimisation, ce serait dur pour moi d'être plus court que ta méthode. Je suis content par exemple de voir que ma réponse ressemble à celle d'un maître ;) Par contre, je crois que Pierrot93 nous a tous les deux coiffé avec son Space(x).

Au plaisir de tous vous recroiser !

Bonne fin de soirée !

Étienne
 
C

Compte Supprimé 979

Guest
Re : Insérer le même caractère X fois en VBA

Salut Etienne2323,
Salut Pierrot93, désolé je n'étais pas remonté assez haut dans le post ;)

Effectivement sacré Pierrot93, vraiment trop fort avec les fonctions VBA méconnue (ou inconnue ;))

Etienne2323, notre petit code peut être très utile si on veut mettre autre chose que des espaces ;)

A moins que pierrot nous sorte une autre fonction méconnue :p

PS : Merci pour le terme "maître", mais je ne suis qu'un simple XLDien :eek:

A+
 

Etienne2323

XLDnaute Impliqué
Re : Insérer le même caractère X fois en VBA

Salut Bruno,
depuis le coup de main avec les listviews il y a quelque mois de ça (on avait eu une petite prise de bec aussi à ce moment là ;) je ne sais pas si tu te rapelles), tu as dépassé le stade de simple XlDien pour moi! Le terme maître avait donc été choisi judicieusement !

Bonne soirée !

Étienne
 

Pierrot93

XLDnaute Barbatruc
Re : Insérer le même caractère X fois en VBA

Re, bonsoir Etienne, Bruno

la fonction string, pour le caractère voulu, un "*" dans l'exemple ci-dessous :

Code:
Dim mavaleur As String, x As Byte
mavaleur = "123456"
x = 25 - Len(mavaleur)
mavaleur = mavaleur & String(x, "*")

bonne soirée
@+
 
C

Compte Supprimé 979

Guest
Re : Insérer le même caractère X fois en VBA

Salut Pierrot93,

Je savais bien que ça devait exister ;):D

En plus je devrais m'en souvenir, j'adore cette fonction : String
mouarf3.png


Voilà un Maître ....

Mes amitiés
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz