OVH Cloud OVH Cloud

Scinder des alphanumeriques

8 réponses
Avatar
Pierre.M
Salut a tous,

Je butte sur le probleme suivant:

J'utilise des valeurs alphanumeriques de type xy ou x est un nombre
compris entre 1 et 999 et y une lettre.
j'aimerai qu'en tapant cette valeur soit en A1 soit en B1, dans les 2
cas, le nombre se mette en A1 et la lettre en B1, et idem pour toute la
colonne.
Exemple je tape 23C en A5 ou en B5 et j'obtiens 23 en A5 et C en B5.

Est-ce faisable?

Merci pour votre aide toujours précieuse.

Pierre

8 réponses

Avatar
AV
Exemple je tape 23C en A5 ou en B5 et j'obtiens 23 en A5 et C en B5.


Si les valeurs sont bien du type que tu décris
Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address = "$A$5" Or zz.Address = "$B$5" Then
Application.EnableEvents = False
Stop
[B5] = Right(zz, 1)
[A5] = Left(zz, Len(zz) - 1)
End If
Application.EnableEvents = False
End Sub

AV

Avatar
AV
PS : Enlèves le "Stop" pour un déroulement normal de la macro

AV
Avatar
Daniel
Bonsooir.
A mettre dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Var As String
If Target.Count > 1 Or Target.Column > 2 Then Exit Sub
Var = Target.Value
Application.EnableEvents = False
Cells(Target.Row, 2) = Right(Var, 1)
Cells(Target.Row, 1) = Left(Var, Len(Var) - 1)
Application.EnableEvents = True
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
455de919$0$25920$
Salut a tous,

Je butte sur le probleme suivant:

J'utilise des valeurs alphanumeriques de type xy ou x est un nombre
compris entre 1 et 999 et y une lettre.
j'aimerai qu'en tapant cette valeur soit en A1 soit en B1, dans les 2 cas,
le nombre se mette en A1 et la lettre en B1, et idem pour toute la
colonne.
Exemple je tape 23C en A5 ou en B5 et j'obtiens 23 en A5 et C en B5.

Est-ce faisable?

Merci pour votre aide toujours précieuse.

Pierre



Avatar
AV
PS du PS
décidément...

Passe le dernier Application.EnableEvents = False
à True en fin de macro

AV
Avatar
Jacky
Bonsoir,

Menu Données / convertir ne fait pas ???

--
Salutations
JJ

"Pierre.M" a écrit dans le message de news:
455de919$0$25920$
Salut a tous,

Je butte sur le probleme suivant:

J'utilise des valeurs alphanumeriques de type xy ou x est un nombre
compris entre 1 et 999 et y une lettre.
j'aimerai qu'en tapant cette valeur soit en A1 soit en B1, dans les 2 cas,
le nombre se mette en A1 et la lettre en B1, et idem pour toute la
colonne.
Exemple je tape 23C en A5 ou en B5 et j'obtiens 23 en A5 et C en B5.

Est-ce faisable?

Merci pour votre aide toujours précieuse.

Pierre



Avatar
Pierre.M
Merci a tous pour votre aide, je vais utiliser la methode de Daniel qui
fonctionne exactement comme je l'esperais et correspond parfaitement a
mes besoins.

En bonus l'un d'entre vous pourrait-il m'expliquer la signification des
"application.enableevents= true/false" qu'on retrouve assez souvent
dans les macros?

Merci encore et bonne journee.

Pierre
Avatar
Daniel
En bonus l'un d'entre vous pourrait-il m'expliquer la signification des
"application.enableevents= true/false" qu'on retrouve assez souvent dans
les macros?


Bonjour
La macro se déclenche lorsqu'on entre une valeur dans les colonnes A ou B.
Cette macro modifie elle-même le contenu de cellules des colonnes A ou B,
donc elle se redéclenche elle-même; pour éviter de redéclencher la macro de
façon intempestive, on ajoute la ligne de code :
application.enableevents= false
qui désactive le déclenchement des macros lorsqu'un évènement (ici
modification ddu contenu de cellules) se produit. On rétablit la situation
initiale avec :
application.enableevents= false
Pas sûr d'avoir été bien clair...
Daniel

Avatar
Pierre.M
Si, tout a fait, j'ai compris (j'avais pas pense a ce redeclenchement
de macro...).
Merci beaucoup.

Pierre


On 2006-11-18 10:21:59 +0100, "Daniel" said:

En bonus l'un d'entre vous pourrait-il m'expliquer la signification des
"application.enableevents= true/false" qu'on retrouve assez souvent
dans les macros?


Bonjour
La macro se déclenche lorsqu'on entre une valeur dans les colonnes A ou B.
Cette macro modifie elle-même le contenu de cellules des colonnes A ou
B, donc elle se redéclenche elle-même; pour éviter de redéclencher la
macro de façon intempestive, on ajoute la ligne de code :
application.enableevents= false
qui désactive le déclenchement des macros lorsqu'un évènement (ici
modification ddu contenu de cellules) se produit. On rétablit la
situation initiale avec :
application.enableevents= false
Pas sûr d'avoir été bien clair...
Daniel