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

Prb de référence cell dans Macro Maison

2 réponses
Avatar
JeanYvesGascon
Bonjour =E0 toutes et tous,

Dans un tableau, j'ai une colonne (E) avec des donn=E9es texte ecrites
de fa=E7on al=E9atoire (Majuscules, ...). Afin d'avoir des donn=E9es
uniformes, j'ai inserr=E9 deux colonnes =E0 gauche (D & C) de celle qui
nous interresse.
Dans la premi=E8re (D), j'utilise la fonction NomPropre.
Dans la seconde (C), j'utilise le collage sp=E9cial afin de ne prendre
que la valeur.

Pour automatiser cette op=E9ration, j'ai cr=E9er une macro maison
"ConvNomPropre" =E0 partir de l'engeristreur de macro dont voici le
code :


Sub ConvNomPropre()
'
' ConvNomPropre Macro
' Macro enregistr=E9e le 21/07/2009 par CROC JYG
'
' Touche de raccourci du clavier: Ctrl+t
'
Range ("D2").Select
ActiveCell.FormulaR1C1 =3D "=3DPROPER(RC[1])"
ActiveCell.Select
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=3DxlPasteValues, Operation:=3DxlNone,
SkipBlanks _
:=3DFalse, Transpose:=3DFalse
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode =3D False
End Sub

Cela fonctionne tr=E8s bien sur la deuxi=E8me ligne.
Par contre comment faire pour les que les r=E9f=E9rences puissent
s'appliquer quelques soient la ligne ?

Merci de votre aide et bonne journ=E9e =E0 toutes & tous.

Jean-Yves

2 réponses

Avatar
FFO
Salut à toi

Utilises plutôt ceci :
i=2
Do while i < Range("D65535").End(xlup).Row+1
Range("C" & i).Value = Range("D" & i).Value
i=i+1
Loop

Celà devrait faire

Dis moi !!!!!
Avatar
michel
Bonjour
Tu selectionne la plage a convertir et tu lance cette macro

sub majus
for each cellule in selection
cellule=strconv(cellule,vbpropercase)
next
end sub
@ plus
Michel
"JeanYvesGascon" a écrit dans le message de
news:
Bonjour à toutes et tous,

Dans un tableau, j'ai une colonne (E) avec des données texte ecrites
de façon aléatoire (Majuscules, ...). Afin d'avoir des données
uniformes, j'ai inserré deux colonnes à gauche (D & C) de celle qui
nous interresse.
Dans la première (D), j'utilise la fonction NomPropre.
Dans la seconde (C), j'utilise le collage spécial afin de ne prendre
que la valeur.

Pour automatiser cette opération, j'ai créer une macro maison
"ConvNomPropre" à partir de l'engeristreur de macro dont voici le
code :


Sub ConvNomPropre()
'
' ConvNomPropre Macro
' Macro enregistrée le 21/07/2009 par CROC JYG
'
' Touche de raccourci du clavier: Ctrl+t
'
Range ("D2").Select
ActiveCell.FormulaR1C1 = "=PROPER(RC[1])"
ActiveCell.Select
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Cela fonctionne très bien sur la deuxième ligne.
Par contre comment faire pour les que les références puissent
s'appliquer quelques soient la ligne ?

Merci de votre aide et bonne journée à toutes & tous.

Jean-Yves