VBA Selection.autofilter

  • Initiateur de la discussion Initiateur de la discussion hacka77
  • Date de début Date de début

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 !

H

hacka77

Guest
Bonjour à tous,

J'utilise une macro depuis un certain temps, qui fonctionnait comme un charme, jusqu'à aujourd'hui. Elle permet de remplacer les mots "vert", "jaune", "orange", "rouge" et "NC" par des chiffres, respectivement 1, 2, 3, 4 et 0, mais seulement sur les lignes commencant par "Couleur". Voici ladite macro :

Code:
Sub couleurchiffres()
 
    Selection.AutoFilter Field:=4, Criteria1:="Couleur"
    Range("D13").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("E13").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("E13:E606").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Replace What:="Vert", Replacement:="1", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="Jaune", Replacement:="2", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="Orange", Replacement:="3", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="Rouge", Replacement:="4", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="NC", Replacement:="0", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Selection.AutoFilter Field:=4
End Sub

Le problème est qu'aujourd'hui, cette macro remplace les valeurs dans toutes les cases, même celles où la ligne ne commence pas par "Couleur". Et je ne comprends pas pourquoi !! A savoir que le critère "couleur" est à chercher en colonne D et que le premier est en "D13".

Quelqu'un a une idée ? 😕

Cordialement, Hacka.
 
Re : VBA Selection.autofilter

Bonjour et bienvenu sur XLD

Si le code fonctionnait et ne provoque pas d'erreur, c'est que quelle que chose à changer dans le classeur.

Et sans ce classeur en PJ, impossible de tester quoi que ce soit .

A+
 
Re : VBA Selection.autofilter

Bonsoir à tous

hacka77: (bienvenue sur le forum)
POUR INFOS
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1

ces lignes sont effaçables car inutiles (scories de l'enregistreur de macros)
 
Re : VBA Selection.autofilter

Bonjour,

Merci à tous pour vos réponses et votre accueil.

@Paf : Malheureusement, c'est un document confidentiel de mon entreprise, je ne peux donc pas le fournir en PJ. Mais merci pour la piste, maintenant je sais que je dois chercher sur le fichier excel et non sur la macro VBA.

Cordialement, Hacka.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
347
Réponses
2
Affichages
588
A
Réponses
4
Affichages
668
A
E
Réponses
5
Affichages
2 K
EDI9366
E
Réponses
3
Affichages
639
L
Réponses
9
Affichages
1 K
Retour