Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

formatage nombre en texte

7 réponses
Avatar
christian
Bonjour =E0 tous et toutes
Sur base d'une macro, je d=E9fini une suite de nombre (2x le m=EAme
chiffre) avec lettre "A" ou "B".
exemple: 001A - 001B - 002A - 002B etc...
Malheureusement pour moi, cette suite que je vois correctement =E0
l'=E9cran ne me permet pas de r=E9aliser une fonction de tri car le format
employ=E9 est un format nombre. Ce qui fait que si je lis parfaitement
001A, lorsque je saisi la valeur de cette cellule, c'est le nombre 1
qui est mentionn=E9.
Comment devrais-je m'y prendre pour obtenir la valeur texte 001A.
J'ai essay=E9 diff=E9rents formatage texte, rien n'y fait. Je n'obtiens
pas la suite alphanum=E9rique souhait=E9e.
Ci-dessous, le code que j'utilise actuellement.
Sub numerotation()
Range("H1").Value =3D "1"
Selection.NumberFormat =3D "000""A"""
Range("H1").Select
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 =3D "=3DR[-1]C"
Selection.NumberFormat =3D "000""B"""
For i =3D 1 To 10
ActiveCell =3D i
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 =3D "=3DR[-1]C+1"
Selection.NumberFormat =3D "000""A"""
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 =3D "=3DR[-1]C"
Selection.NumberFormat =3D "000""B"""
Next i
Columns("h:h").Select
Selection.Copy
Selection.PasteSpecial Paste:=3DxlPasteValues,
Operation:=3DxlNone, SkipBlanks _
:=3DFalse, Transpose:=3DFalse
Application.CutCopyMode =3D False

End Sub
Si vous pouviez me trouver une solution, je vous en serais
reconnaissant.
En vous remerciant d'avance pour toute aide ou d=E9but de piste.
Cordialement
Christian

7 réponses

Avatar
Jacquouille
Bonjour Christian
Pour "forcer la main" à Excel, on peut placer une apostrophe avant le texte
ou le chiffre. cela oblige Excel à interpréter la cellule comme du texte.
0 (zéro) = nombre
'0 (apostrophe + zéro) = texte
fais l'essai.
Si cela te convient, tu peux insérer une colonne et y inscrire un truc du
genre ='&a1 et ensuite, tirer vers le bas.
Tu obtiendras du texte.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

"christian" a écrit dans le message de groupe de discussion :


Bonjour à tous et toutes
Sur base d'une macro, je défini une suite de nombre (2x le même
chiffre) avec lettre "A" ou "B".
exemple: 001A - 001B - 002A - 002B etc...
Malheureusement pour moi, cette suite que je vois correctement à
l'écran ne me permet pas de réaliser une fonction de tri car le format
employé est un format nombre. Ce qui fait que si je lis parfaitement
001A, lorsque je saisi la valeur de cette cellule, c'est le nombre 1
qui est mentionné.
Comment devrais-je m'y prendre pour obtenir la valeur texte 001A.
J'ai essayé différents formatage texte, rien n'y fait. Je n'obtiens
pas la suite alphanumérique souhaitée.
Ci-dessous, le code que j'utilise actuellement.
Sub numerotation()
Range("H1").Value = "1"
Selection.NumberFormat = "000""A"""
Range("H1").Select
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
Selection.NumberFormat = "000""B"""
For i = 1 To 10
ActiveCell = i
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C+1"
Selection.NumberFormat = "000""A"""
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
Selection.NumberFormat = "000""B"""
Next i
Columns("h:h").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False

End Sub
Si vous pouviez me trouver une solution, je vous en serais
reconnaissant.
En vous remerciant d'avance pour toute aide ou début de piste.
Cordialement
Christian
Avatar
LSteph
Bonjour,

Si on y veut du texte faut mettre du texte:

Sub rempH()
dim i as long
For i = 2 To 20 Step 2
Cells(i, 8) = Format(i / 2, "000") & "A"
Cells(i + 1, 8) = Format(1 + (i / 2), "000") & "B"
Next i
End Sub

'LSteph


On Jul 4, 1:09 pm, christian wrote:
Bonjour à tous et toutes
Sur base d'une macro, je défini une suite de nombre (2x le même
chiffre) avec lettre "A" ou "B".
exemple: 001A - 001B - 002A - 002B etc...
Malheureusement pour moi, cette suite que je vois correctement à
l'écran ne me permet pas de réaliser une fonction de tri car le forma t
employé est un format nombre. Ce qui fait que si je lis parfaitement
001A, lorsque je saisi la valeur de cette cellule, c'est le nombre 1
qui est mentionné.
Comment devrais-je m'y prendre pour obtenir la valeur texte 001A.
J'ai essayé différents formatage texte, rien n'y fait. Je n'obtiens
pas la suite alphanumérique souhaitée.
Ci-dessous, le code que j'utilise actuellement.
Sub numerotation()
        Range("H1").Value = "1"
            Selection.NumberFormat = "000""A"""
        Range("H1").Select
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C"
            Selection.NumberFormat = "000""B"""
    For i = 1 To 10
        ActiveCell = i
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C+1"
            Selection.NumberFormat = "000""A"""
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C"
            Selection.NumberFormat = "000""B"""
Next i
        Columns("h:h").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
            :lse, Transpose:lse
        Application.CutCopyMode = False

End Sub
Si vous pouviez me trouver une solution, je vous en serais
reconnaissant.
En vous remerciant d'avance pour toute aide ou début de piste.
Cordialement
Christian
Avatar
LSteph
Ou j'ai mal compris, ceci plutôt

Sub rempH()
For i = 2 To 20 Step 2
Cells(i, 8) = Format(i / 2, "000") & "A"
Cells(i + 1, 8) = Format(i / 2, "000") & "B"
Next i
End Sub

'LSteph

On Jul 4, 1:09 pm, christian wrote:
Bonjour à tous et toutes
Sur base d'une macro, je défini une suite de nombre (2x le même
chiffre) avec lettre "A" ou "B".
exemple: 001A - 001B - 002A - 002B etc...
Malheureusement pour moi, cette suite que je vois correctement à
l'écran ne me permet pas de réaliser une fonction de tri car le forma t
employé est un format nombre. Ce qui fait que si je lis parfaitement
001A, lorsque je saisi la valeur de cette cellule, c'est le nombre 1
qui est mentionné.
Comment devrais-je m'y prendre pour obtenir la valeur texte 001A.
J'ai essayé différents formatage texte, rien n'y fait. Je n'obtiens
pas la suite alphanumérique souhaitée.
Ci-dessous, le code que j'utilise actuellement.
Sub numerotation()
        Range("H1").Value = "1"
            Selection.NumberFormat = "000""A"""
        Range("H1").Select
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C"
            Selection.NumberFormat = "000""B"""
    For i = 1 To 10
        ActiveCell = i
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C+1"
            Selection.NumberFormat = "000""A"""
        ActiveCell.Offset(1, 0).Select
            ActiveCell.FormulaR1C1 = "=R[-1]C"
            Selection.NumberFormat = "000""B"""
Next i
        Columns("h:h").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
            :lse, Transpose:lse
        Application.CutCopyMode = False

End Sub
Si vous pouviez me trouver une solution, je vous en serais
reconnaissant.
En vous remerciant d'avance pour toute aide ou début de piste.
Cordialement
Christian
Avatar
christian
On Jul 4, 1:20 pm, "Jacquouille" wrote:
Bonjour Christian
Pour "forcer la main" à Excel, on peut placer une apostrophe avant le t exte
ou le chiffre.  cela oblige Excel à interpréter la cellule comme du texte.
0 (zéro) = nombre
'0 (apostrophe + zéro) = texte
fais l'essai.
Si cela te convient, tu peux insérer une colonne et y inscrire un truc du
genre ='&a1 et  ensuite, tirer vers le bas.
Tu obtiendras du texte.

Jacquouille



Bonjour Jacquouille
Merci de m'avoir lu et répondu.
Je connaissais cette solution et également le formatage texte "@".
Malheureusement, cela ne fonctionne pas dans mon cas présent.
En utilisant ='&a1, on obtient "Nom non valide".
Si vous connaissez une autre possibilité pour inscrire automatiquement
une série de chiffres suivi de la lettre A ou B, je suis preneur.
Encore merci pour votre aide
Christian
Avatar
LSteph
ou si j'ai bien compris plutot ceci:

Sub rempH()
For i = 2 To 20 Step 2
Cells(i, 8) = Format(i / 2, "000") & "A"
Cells(i + 1, 8) = Format(i / 2, "000") & "B"
Next i
End Sub

'LSteph

On Jul 4, 2:12 pm, LSteph wrote:
Bonjour,

Si on y veut du texte faut mettre du texte:

Sub rempH()
dim i as long
For i = 2 To 20 Step 2
Cells(i, 8) = Format(i / 2, "000") & "A"
Cells(i + 1, 8) = Format(1 + (i / 2), "000") & "B"
Next i
End Sub

'LSteph

On Jul 4, 1:09 pm, christian wrote:







> Bonjour à tous et toutes
> Sur base d'une macro, je défini une suite de nombre (2x le même
> chiffre) avec lettre "A" ou "B".
> exemple: 001A - 001B - 002A - 002B etc...
> Malheureusement pour moi, cette suite que je vois correctement à
> l'écran ne me permet pas de réaliser une fonction de tri car le for mat
> employé est un format nombre. Ce qui fait que si je lis parfaitement
> 001A, lorsque je saisi la valeur de cette cellule, c'est le nombre 1
> qui est mentionné.
> Comment devrais-je m'y prendre pour obtenir la valeur texte 001A.
> J'ai essayé différents formatage texte, rien n'y fait. Je n'obtiens
> pas la suite alphanumérique souhaitée.
> Ci-dessous, le code que j'utilise actuellement.
> Sub numerotation()
>         Range("H1").Value = "1"
>             Selection.NumberFormat = "000""A"""
>         Range("H1").Select
>         ActiveCell.Offset(1, 0).Select
>             ActiveCell.FormulaR1C1 = "=R[-1]C"
>             Selection.NumberFormat = "000""B"""
>     For i = 1 To 10
>         ActiveCell = i
>         ActiveCell.Offset(1, 0).Select
>             ActiveCell.FormulaR1C1 = "=R[-1]C+1"
>             Selection.NumberFormat = "000""A"""
>         ActiveCell.Offset(1, 0).Select
>             ActiveCell.FormulaR1C1 = "=R[-1]C"
>             Selection.NumberFormat = "000""B"""
> Next i
>         Columns("h:h").Select
>         Selection.Copy
>         Selection.PasteSpecial Paste:=xlPasteValues,
> Operation:=xlNone, SkipBlanks _
>             :lse, Transpose:lse
>         Application.CutCopyMode = False

> End Sub
> Si vous pouviez me trouver une solution, je vous en serais
> reconnaissant.
> En vous remerciant d'avance pour toute aide ou début de piste.
> Cordialement
> Christian
Avatar
christian
On Jul 4, 2:23 pm, LSteph wrote:
ou si j'ai bien compris plutot ceci:

Sub rempH()
For i = 2 To 20 Step 2
Cells(i, 8) = Format(i / 2, "000") & "A"
Cells(i + 1, 8) = Format(i / 2, "000") & "B"
Next i
End Sub

'LSteph



Bonjour LSteph

Merci pour la solution.
C'est tout a fait ce que je cherchais à obtenir comme résultat.
Bonne fin d'après-midi.
Christian
Avatar
Jacquouille
Au temps pour moi!
Faut mettre l'apostrophe (') entre guillemets ( " "), ce qui donne:
="'"&a1

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"christian" a écrit dans le message de groupe de discussion :


On Jul 4, 1:20 pm, "Jacquouille" wrote:
Bonjour Christian
Pour "forcer la main" à Excel, on peut placer une apostrophe avant le
texte
ou le chiffre. cela oblige Excel à interpréter la cellule comme du texte.
0 (zéro) = nombre
'0 (apostrophe + zéro) = texte
fais l'essai.
Si cela te convient, tu peux insérer une colonne et y inscrire un truc du
genre ='&a1 et ensuite, tirer vers le bas.
Tu obtiendras du texte.

Jacquouille



Bonjour Jacquouille
Merci de m'avoir lu et répondu.
Je connaissais cette solution et également le formatage texte "@".
Malheureusement, cela ne fonctionne pas dans mon cas présent.
En utilisant ='&a1, on obtient "Nom non valide".
Si vous connaissez une autre possibilité pour inscrire automatiquement
une série de chiffres suivi de la lettre A ou B, je suis preneur.
Encore merci pour votre aide
Christian