IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème mise en forme [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    Mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 69
    Par défaut Problème mise en forme
    Bonjour,
    je récupère une fichier texte issue d'une extraction via un erp, et je le met en forme sur excel via l'onglet donnée en cliquant sur donnée externe et choisissant fichier txt.
    J'obtiens une mise en forme que je désire changer ducoup j'ai crée un code vba pour pour faire sa.

    Nom : mef.PNG
Affichages : 159
Taille : 12,2 Ko

    Voici un aperçu de ce que je souhaite supprimer, les lignes comprenant un tiret rouge.
    Mais le soucis c'est que le code le fait en plusiseurs fois il ne supprime pas toute les lignes d'une seul fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Sub test()
    Der = ActiveSheet.Cells(Rows.count, "A").End(xlUp).Row
     
    Range("A1:N1").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.399975585192419
        .PatternTintAndShade = 0
    End With
     
    For i = 2 To Der
        Select Case Range("A" & i)
            Case Is = ""
                Rows(i).Delete
            Case Is = "Mag."
                Rows(i).Delete
            Case Left(Range("A" & i), 3) = "---"
            Rows(i).Delete
     
    End Select
    End Sub
    Pour le 3ème Case j'ai voulu tester cette méthode (Left) mais elle ne fonctionne pas non plus. Auparavant je mettais ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Case Is = "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
    Merci pour votre aide.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Pour supprimer des lignes ou pour en insérer, il est FORTEMENT conseillé d'aller du bas vers le haut.
    Si on va du haut vers le bas, soit on loupe une ligne à chaque suppression, soit il faut mettre en place une instruction permettant de remonter d'un cran à chaque suppression.

    Bref :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = Der To 2 Step -1
    Petit détail : le code que tu présentes ne peut pas fonctionner puisque ta structure "For" n'est pas clôturée par un Next.

    Autre détail : la troisième condition de ton Case n'est pas applicable ainsi (et j'ai de gros doutes pour les deux autres).
    Il serait plus judicieux d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If Range("A" & i) = "" Or Range("A" & i) = "Mag." Or Left(Range("A" & i), 3) = "---" Then Rows(i).Delete

  3. #3
    Membre confirmé
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    Mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 69
    Par défaut
    Je te remercie ça marche parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème mise en forme
    Par alex2746 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 28/10/2008, 10h08
  2. Probléme mise en forme du texte
    Par Rifton007 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/09/2008, 10h02
  3. Problème Mise en forme conditionnelle
    Par GEOPIXEL dans le forum IHM
    Réponses: 1
    Dernier message: 17/04/2008, 15h15
  4. [Mail] problème : mise en forme html d'un mail
    Par minie dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2007, 15h45
  5. problème mise en forme de balises ul li dans IE 6
    Par gaboo_bl dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 12/01/2007, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo