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 :

Par Macro, épurer une feuille [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Par Macro, épurer une feuille
    Bosoir à tous,

    Je m'explique :
    - Je copie une feuille dans une autre
    - Dans la nouvelle feuille, j'efface des lignes et des colonnes

    La dernière cellule remplie est A:97
    Mais si je fais un control + fin, la cellule Z:270 est sélectionnée.

    Comment faire pour épurer la feuille pour
    que control + fin pointe sur A:97

    J'avais trouvé un code, mais je ne le retrouve plus !

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Address

    voir ftp://ftp2.developpez.be/developps/vb/VB-excel2.pdf PAGE 32

    cordialement,

    Didier

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonsoir,

    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Réinit()
        Range(Cells.SpecialCells(xlCellTypeLastCell).EntireRow, Cells.Find("*", , , , xlByRows, xlPrevious).EntireRow).Offset(1, 0).Delete
        Range(Cells.SpecialCells(xlCellTypeLastCell).EntireColumn, Cells.Find("*", , , , xlByColumns, xlPrevious).EntireColumn).Offset(0, 1).Delete
        ActiveWorkbook.Save
    End Sub
    De mémoire il me semble que UsedRange n'est pas suffisant

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir Ormonth,
    Oui, cela affiche bien le N° de la dernière cellule remplie

    Bonsoir JPierreM,
    Ok, cela fonctionne
    Mais, je trouve le traitement un très long

    Pourais-t'on se servir du code d'Ormonth
    pour démarrer l'épuration ?

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Citation Envoyé par JPierreM
    De mémoire il me semble que UsedRange n'est pas suffisant
    J'ai testé personnellement et c'est nickel, comme tout ce que comporte le tuto de Bidou d'ailleurs

    Citation Envoyé par malabarbe
    Bonsoir Ormonth,
    Oui, cela affiche bien le N° de la dernière cellule remplie
    l'important est que si tu fais un CTRL + Fin à suivre tu arrives bien sur la dernière remplie désormais

    cordialement,

    Didier

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir Ormonth,

    Autant pour moi, cela fonctionne.

    Peut-on appliquer le code sans passer par le Msgbox ?

  7. #7
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Le Msgbox n'a rien à voir dans l'affaire, l'important est de valider l'usage de la propriété UsedRange pour renvoyer l'objet Range qu'on veut obtenir et qui représente la plage "réelle" voulue.

    cordialement,

    Didier

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/09/2013, 09h33
  2. [XL-2007] Lancer une macro par dévérouillage d'une feuille
    Par Exosporium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/10/2012, 19h49
  3. [XL-2003] Macro ANNULER une suppression (par macro) dans une feuille
    Par Airone1CF03 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/03/2010, 10h26
  4. suppression d'une macro d'une feuille excel protegée par mot de passe
    Par adilissimo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2007, 20h25
  5. Réponses: 6
    Dernier message: 15/05/2006, 17h04

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