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 :

macro=remove des lignes d un fichier xls et reorga


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut macro=remove des lignes d un fichier xls et reorga
    Bonjour je voudrais une macro qui ressemble a cela:

    j ai un tableau excel qui ressmeble à
    ACCESSORID = U0000302 NAME #NOM?
    ACCESSORID = U0010160 NAME #NOM?
    LAST USED = 2025/10/05 11:33 CP U(CTI7) FAC(TPX7 ) COUNT(00049)
    ACCESSORID = U0019480 NAME #NOM?
    LAST USED = 2026/10/05 08:59 CP U(CTI7) FAC(TPX7 ) COUNT(00054)
    on fait une boucle qui va parcourir le tableau en descendant ligne par ligne
    si je trouve last used,
    j aimerais effacer la ligne au dessus de last used et la ligne lastused et ce pour tout le tableau

    ensuite j aimerais que tout les lignes devenues vides ben disparaissent

    le tableau est gros c est pour cela que je vous demande votre aide(2000 lignes)

    en gros je voisl e truc comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A2: A2000").Select
    For i = 1 To Selection.Count
     If (Cells(i, 1).Value) =
    .........

    et la je sais pas dire comprend last used et dire remove lien du dessu plus efface la ligne vide ^^

    par avance merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as essayé avec find pour trouver tous tes "LAST USED" ? et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows(ActiveCell.Row).Offset(-1).Select
        Selection.Delete Shift:=xlUp
    pour supprimer la ligne précédente

    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tiens, j'avais un moment avantle repas...

    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
    Sub LaMacro()
    Dim Fin as boolean
        On Error Resume Next
            Cells.Find(What:="LAST USED", After:=ActiveCell, LookIn:=xlFormulas, _
                LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                MatchCase:=False).Activate
            Do While Not fin
                Selection.Delete Shift:=xlUp
                Rows(ActiveCell.Row).Offset(-1).Select
                Selection.Delete Shift:=xlUp
                Range("A1").Select
                Cells.FindNext(After:=ActiveCell).Activate
                fin = Err <> 0
            Loop
        Err.Clear
    End Sub
    A+

  4. #4
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    oki merci si je comprend bien tu cherche le champ last used avec la fonction find et tu remontes avec ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(ActiveCell.Row).Offset(-1).Select
    poru choisir la ligne precedente ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Delete Shift:=xlUp
    permet de virer la ligne

    c est très malin
    merci

    parcontre il delete que la selection et non pas la ligne entière avec selection.delete shift := xlup

    moi ce que j aimerais faire c est un je dois remplacer selection.delete shift:= xlup par ?

  5. #5
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Pendant qu'Ouskel'n'or mange, je reprend le flambeau:
    Le 'EntireRow' marche très bien, si tu l'utilises correctement, c'est à dire sur une cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaCellule.EntireRow.Delete Shift:=xlUp
    Ça devrait te convenir.
    Ou pour coller à ce que tu as déjà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.EntireRow.Delete Shift:=xlUp

  6. #6
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    excellent
    c est parfait now

    problem solve et en plus j ai pu apprendre encore un grand merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2012, 10h46
  2. [C#] Nombre de lignes d'un fichier xls (Excel)
    Par BouB dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/03/2009, 10h58
  3. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26
  4. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

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