Fonction excel

vielhom Messages postés 24 Statut Membre -  
vielhom Messages postés 24 Statut Membre -
bonjour,
je travaille avec excel 2003
dans la colonne a, j'ai un format personnalisé 00000
je désirerais mettre les 2 dernier chiffres de la colonne a dans la colonne b
en vous remerciant.
A voir également:

10 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 443
 
Bonjour
=DROITE(A1;2) pour un valeur texte

ou
= DROITE(A1;2)*1 pour avoir une valeur num.

crdlmnt
0
madmyke Messages postés 60718 Date d'inscription   Statut Modérateur Dernière intervention   12 250
 
0
vielhom Messages postés 24 Statut Membre 3
 
bonjour à vous deux,
madmyke, j'ai bien vu cette page
vaucluse, merci également

ce que je voudrais c'est comment écrire = DROITE(A1;2)*1 en code vba pour toute ma colonne a et b sur 200 lignes
en vous remerciant.
0
vielhom Messages postés 24 Statut Membre 3
 
avec l'enregistreur de macros j'obtiens
ActiveCell.FormulaR1C1 = "= RIGHT(RC[-1],2)*1"
Range("A2").Select
comment faire de A3 à A200 svp
Merci à vous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour
salut Vaucluse :o)

petite macro pour jour férié
Option Explicit
'-------------------------------------
Sub extraire_droite2()
Dim Derlig As Byte, Lig As Byte

Application.ScreenUpdating = False
Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
For Lig = 1 To Derlig
Cells(Lig, "B") = Right(Cells(Lig, "A"), 2)
Next
Columns("B").NumberFormat = "00"
End Sub


0
vielhom Messages postés 24 Statut Membre 3
 
merci beaucoup Vaucluse
bonne fin de journée
0
vielhom Messages postés 24 Statut Membre 3
 
bonsoir,
je reviens vers vous pour vous demander de bien vouloir corriger ce code
en vous remerciant.

Sub Mef_liste_chants()
Dim Derlig As Byte, Lig As Byte

Application.ScreenUpdating = False

Columns("A:A").Select
Selection.NumberFormat = "00000"
Range("A1").Select
ActiveCell.FormulaR1C1 = "Assemblée Marguerittes"
Columns("B:C").Select
Selection.Insert Shift:=xlToRight
Rows(2).Insert Shift:=xlDown
Range("A1").Select
Range("A1").Select

With Selection.Font
.Name = "Times New Roman"
.Size = 12
End With

Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "= RIGHT(RC[-1],2)*1"
Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row

For Lig = 1 To Derlig
Cells(Lig, "B") = Right(Cells(Lig, "A"), 2)
Next
Columns("B").NumberFormat = "00"
Range("A1").Select

Application.ScreenUpdating = True
End Sub
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Voir avec Vaucluse puisque je n'ai pas existé pour toi
0
vielhom Messages postés 24 Statut Membre 3
 
bonjour michel m,
je suis désolé d'avoir zappé ta réponse, certainement du à mon état de santé qui a nécessité 15 jours d'hospitalisation et retour à l'hosto début janvier pour une op lourde.
je te présente toutes mes excuses.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour
OK :o)

Ton problème vient que l'on a un nombre dans la colonne A --> on ne peut donc pas utiliser la fonction "DROITE" directement: il faut transformer A3 en texte par la fonction CTXT (ou par un autre moyen)

La formule serait donc
=SI(A3="";"";DROITE(CTXT(A3;0);2))

a mon avis, il est inutile maintenant d'écrire une macro mais....
Option Explicit
'--------------------------------------------
Sub Mef_liste_chants()
Dim Derlig As Byte, Lig As Byte

Application.ScreenUpdating = False
'mises en forme
Columns("A").NumberFormat = "00000"
Columns("B:C").Insert Shift:=xlToRight
Rows(2).Insert Shift:=xlDown
With Range("A1")
.Value = "Assemblée Marguerittes"
With .Font
.Name = "Times New Roman"
.Size = 12
.Bold = True
End With
End With

' extrait les 2 derniers caractères de la colonne A
Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
For Lig = 3 To Derlig
If Cells(Lig, "A") <> "" Then: Cells(Lig, "B") = Right(CStr(Cells(Lig, "A")), 2)
Next
Columns("B").HorizontalAlignment = xlCenter
Range("A1").Select

'INUTILE: Application.ScreenUpdating = True
End Sub


pour terminer
Il est fondamental de préciser EXACTEMENT le contexte de ton classeur lorsque tu demandes de l'aide
au besoin:
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse


Bon rétablissement de ta santé
0
vielhom Messages postés 24 Statut Membre 3
 
bonjour michel m,
je te remercie de ne pas m'avoir tenu rigueur et pour tes explications.
je pense que je vais m'en sortir sinon je reviens.
je mettrai résolu plus tard si c'est bon.
encore merci.
0