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 :

Dernière cellule remplie d'une ligne [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Points : 76
    Points
    76
    Par défaut Dernière cellule remplie d'une ligne
    Bonjour,

    Comme le titre l'indique, je cherche le code pour retourner dans une variable la dernière cellule remplie d'une ligne. Je pense qu'il faut utiliser la fonction End(xlLeft), mais je me perds un peu..

    Pour info, mon but est d'effacer l'ensemble données de la ligne i (variable), excepté la première cellule, (i,1) donc. Peut-être y-a-t-il plus simple ?

    J'avais déjà tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks(xxx).Worksheets(yyy).Rows(i).Select
    Selection.EntireRow.ClearContents
    ... mais là tout s'efface évidemment.

    Merci d'avance !

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Plutot xltoright

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(i).End(xlToRight).Column
    pour la cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i,Rows(i).End(xlToRight).Column).select

  3. #3
    Membre régulier Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Points : 76
    Points
    76
    Par défaut
    Merci jfontaine !

    Et à partir de là, comment ferais-tu pour effacer ce que je souhaite (voir premier post) ?

    Edit: au passage, je pense que tu voulais plutôt écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, Columns(i).End(xlToRight).Column).Select

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    mon but est d'effacer l'ensemble données de la ligne i (variable), excepté la première cellule, (i,1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub aaa()
    Dim Temp As String                     'à adapter
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")              ' à adapter
        Temp = .Range("A" & i)
        .Rows(i).ClearContents
        .Range("A" & i) = Temp
    End With
    End Sub
    Regarde ce lien

    Ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim LastCol As Integer
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")              ' à adapter
        LastCol = .Cells(i, .Columns.Count).End(xlToLeft).Column
        If LastCol > 1 Then .Range(.Cells(i, 2), .Cells(i, LastCol)).ClearContents
    End With

  5. #5
    Membre régulier Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Points : 76
    Points
    76
    Par défaut
    Merci mercatog, ça fonctionne impec !
    J'étais parti sur quelque chose comme ça, qui ne passe pas évidemment... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lastcell = Workbooks(xxx).Worksheets(yyy).Cells(i, Columns(i).End(xlToRight).Column).Address
    Workbooks(xxx).Worksheets(yyy).Range("B & i :l astcell").ClearContents
    Pourquoi ? Etait-ce possible en raisonnant de façon similaire ?

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Edit: au passage, je pense que tu voulais plutôt écrire:

    Code :Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, Columns(i).End(xlToRight).Column).Select
    Non il s'agit bien de Row si tu veux connaitre la dernière cellule d'une ligne.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 20/09/2014, 22h07
  2. Réponses: 10
    Dernier message: 26/07/2013, 17h57
  3. Réponses: 14
    Dernier message: 07/04/2010, 10h27
  4. [OLE Excel] Aller jusqu'à la dernière cellule rempli
    Par JBrek dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 07/08/2009, 19h21
  5. Trouver la première cellule remplie d'une ligne
    Par nicacc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2008, 15h16

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