probleme macro toute bete

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

blond2comet

XLDnaute Nouveau
bonjour,

je n'y connais pas grand chose (voire rien) en VBA et essaie de faire la manip suivante sur un fichier.

Je veux que lorsque j'effectue un changement sur ma worksheet, pour les colonnes données:

1- que le "." soit remplacé par une ","
2- que le chiffre soit mis en format pourcentage.

J'ai donc utilisé l'enregistreur de macro.
quand j'utilise ma macro (en manuel ou en worksheet change), elle tourne sans arrêt et surtout n'applique pas le format %...😕

je pense que je peux supprimer tout le début jusqu'à la dernière ligne Active.Window scroll column??
je ne comprends pas non plus pourquoi tous les critères de remplacement sont "False"...
en enregistrant ma macro, j'ai pourtant utilisé un fichier qui contenait des "."

help! 🙁

Merci par avance

Code:
'
' pourcentage Macro
' Macro enregistrée le 29/11/2006
'

'
    Range("N:N,Q:R").Select
    Range("Q1").Activate
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    Range("N:N,Q:R,U:U,W:W").Select
    Range("W1").Activate
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Style = "Percent"
 
Re : probleme macro toute bete

Bonjour Blond2comet

essaye le code ci dessous a mettre dans le module de la feuille concernée :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
    Target.Replace What:=".", Replacement:=","
    Target.Style = "Percent"
Application.EnableEvents = True
End Sub

bonne fin d'après midi
@+
 
Dernière édition:
Re : probleme macro toute bete

merci beaucoup mais malheureusement ca ne fonctionne pas...🙁

voila le code que j'ai mis


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("N:N,Q:R,U:U,W:W").Select
    Application.EnableEvents = False
    Target.Replace What:=".", Replacement:=","
    Target.Style = "Percent"
    Application.EnableEvents = True
End Sub

le . n'est pas remplacé par la virgule par contre, le format % est appliqué (j'ai vérifié en remplacant manuellement . par ,)
 
Re : probleme macro toute bete

Bonjour Blond2comet

avec la ligne ci dessous :

Code:
Range("N:N,Q:R,U:U,W:W").Select

tu sélectionnes les colonnes ??? A priori aucun intérêt...

Sachant que Target est égal à la cellule modifiée, ca n'a pas d'effet sur les autres cellules. Est ce que dans la cellule précise que tu modifies, le point n'est pas remplacé ? Chez moi ca marche correctement mais dans mes paramètres régionaux, c'est le"." qui est déclaré en séparateur.

Bonne journée
@+
 
Re : probleme macro toute bete

bah euh en fait, si, c'est important que mes colonnes soient selectionnées:

le fichier sur lequel je veux faire la macro est en fait une base, avec des renvois dans tous les sens vers d'autres feuilles. Elle me sert à faire des tableaux récap, totaux etc

tous les mois, je copie sur ma feuille une grande quantité de données qui proviennent d'un fichier brut.
ce que je souhaite exactement c'est que quand je colle des données dans la feuille, dans les colonnes N,Q, R,U,W ca change le point en virgule et applique le format pourcentage.


je m'apercois que j'aurais sans doute expliquer ca des le debut, ca aurait evité tout quiproquo.
 
Re : probleme macro toute bete

Re Blond2comet

essaye comme ceci alors :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("N:N,Q:R,U:U,W:W")) Is Nothing Then
    Application.EnableEvents = False
        Target.Replace What:=".", Replacement:=","
        Target.Style = "Percent"
    Application.EnableEvents = True
End If
End Sub

par contre effectivement, si tu colles des données brutes issues d'un fichier txt, ca peut poser problème. Il est sans doute préférable de convertir les données au préalable. A voir...

@+
 
Re : probleme macro toute bete

Re

bizarre tout ca, je viens de refaire un test à nouveau et chez moi c'est OK, remplacement et format UNIQUEMENT dans les CELLULES des COLONNES INDIQUEES.

Essaie déjà peut être en renseignant manuellement les données.

@+
 
Re : probleme macro toute bete

après test de remplissage manuel (lol)

voici ce qui arrive:
- pour un chiffre saisi du style 0.456, il devient 0,456 (donc pas de %)
- pour un chiffre saisi du style 2, il devient 200%

il y a donc un souci quelquepart dans la suite des actions non?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
9
Affichages
1 K
J
Réponses
22
Affichages
3 K
jui42
J
E
Réponses
5
Affichages
2 K
EDI9366
E
B
Réponses
2
Affichages
1 K
D
Réponses
22
Affichages
3 K
Réponses
11
Affichages
3 K
P
Réponses
5
Affichages
1 K
M
Réponses
5
Affichages
4 K
C
Réponses
1
Affichages
2 K
M
Réponses
3
Affichages
977
Mickaelp
M
Réponses
22
Affichages
2 K
Retour