Bonjour,
Comment ajouter des caractères spéciaux dans une chaîne ?
En l'occurence j'aimerai ajouter un retour à la ligne
Merci
Version imprimable
Bonjour,
Comment ajouter des caractères spéciaux dans une chaîne ?
En l'occurence j'aimerai ajouter un retour à la ligne
Merci
Bonjour,
Cordialement,Code:Machaine = Machaine & vbNewLine
Tirex28/
Merci, je viens d'essayer,
Le problème c'est qu'après, quand j'affecte ma chaîne à une cellule il me met automatiquement l'option "Revenir à la ligne automatiquement" ce qui fait que ma chaine ne viens pas à la ligne uniquement à la position que j'ai choisi mon ajustement de longueur de colonne n'est plus bon
Bonjour,
Pour rétablir le format de la cellule:
Cordialement,Code:ActiveCell.WrapText = False
Tirex28/
Si je met ca il me supprime également le retour à la ligne que j'ai mis.
Je trouve pas le moyen d'avoir un retour à la ligne à l'endroit ou je le désire
Bonjour,
essaye avec...
Remarque: la largeur colonne doit être au moins égale à la plus longue ligne.Code:
1
2
3
4
5
6
7
8 Sub MyMacro() Dim a$ a$ = "Essais pour ligne" & vbCrLf a$ = a$ & "Essais des deux genres de largeur" & vbCrLf a$ = a$ & "Ligne 3" & vbCrLf a$ = a$ & "Petit" Cells(1, 1) = a$ End Sub
A+
Justement je veux pouvoir ajuster ma largeur de colonne automatiquement sur la plus longue des ligne.
En faisant ton exemple, il me coche "Retour à la ligne automatique" et j'obtiens :
Essais pour
ligne
Essais des deux
genres
de largeur
Ligne 3
Petit
Et quand je clique sur l'ajustement automatique de la colonne, rien ne se passe
Si je décoche "Retour à la ligne automatique" puis ajustement automatique j'ai tout sur une ligne
Je ne connais pas d'avance la largeur de mes données qui proviennent d'un fichier
Si j'ai bien compris, tu veux le beurre et l'argent du beurre...:P
Avant d'insérer la variable, calculer la longueur de la plus grande ligne et ajuter la largeur de la colonne.
Bon, ont va te donner une piste pour avoir également l'argent...:P
A+Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub MyMacro() Dim T, L As Integer, LB As Integer Dim Txt As String T = Array("Essais pour ligne", "Essais des deux genres de largeur", _ "Ligne 3", "Petit") For i = 0 To 3 LB = Len(T(i)) If LB > L Then L = LB Txt = Txt & T(i) & vbCrLf Next i Columns("A:A").ColumnWidth = L Cells(1, 1) = Txt End Sub
Merci de ton aide mais je comprend pas trop :
Tu utiliseavec un nombre de caractère alors que l'unité est un nombre de point, de plus la police est proportionnelle et chaque caractère n'as pas la même longueur.Code:.ColumnWidth
Voici un exemple (voir les fichier en pièce jointe)
Je part d'une feuille vide et j'affecte un libellé dans une cellule :J'ai la situation "Etape_1"Code:Worksheets(1).Cells(1, 1) = "Date de l'anomalie"
J'ajuste la largeur de colonne :J'obtiens la situation "Etape 2"Code:Worksheets(1).Columns(1).AutoFit
J'ajoute le retour à la ligne et "(Date)" :J'obtiens la situation "Etape 3"Code:Worksheets(1).Cells(1, 1) = Worksheets(1).Cells(1, 1).Value & vbNewLine & "(DATE)"
L'option "Retourner à la ligne automatiquement" s'est coché par la dernière action et j'ai un retour à la ligne supplémentaire sur le premier contenu (avant l'ajout) qui tenais pourtant dans la largeur puisque c'étais ajusté.
Je cherche en fait à obtenir la situation "Etape_4" que j'ai obtenu à la main en partant de la situation Etape_2, j'ai fait Alt+Entrée puis j'ai ajouté "(DATE)"
Remarque, dans la situation Etape_4 que j'ai obtenu par Alt+Entrée, il n'y à pas de carré qui représente le retour à la ligne, contrairement à Etape_3
Je demande pas l'argent du beurre, juste la crémière ;)
Arf, la solution était toute bète :oops:, en fait j'ai pas besoin de caractère spéciaux, je me suis pris la tête pour rien
Je remplace :
parCode:
1
2
3
4 Worksheets(1).Cells(1, 1) = "Date de l'anomalie" Worksheets(1).Columns(1).AutoFit Worksheets(1).Cells(1, 1) = Worksheets(1).Cells(1, 1).Value & vbNewLine & "(DATE)"
Et ca marche impécableCode:
1
2
3
4
5 Worksheets(1).Cells(1, 1) = "Date de l'anomalie" Worksheets(1).Columns(1).AutoFit Worksheets(1).Cells(1, 1) = Worksheets(1).Cells(1, 1).Value & " (DATE)" Worksheets(1).Cells(1, 1).WrapText = True