formatage nombre en texte

Le
christian
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 _
:=False, Transpose:=False
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #23530591
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
LSteph
Le #23530711
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
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
LSteph
Le #23530801
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
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
christian
Le #23530781
On Jul 4, 1:20 pm, "Jacquouille"
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
LSteph
Le #23530831
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
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






> 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
christian
Le #23530821
On Jul 4, 2:23 pm, 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



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
Jacquouille
Le #23531341
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"
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
Publicité
Poster une réponse
Anonyme