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 :

trouver la derniere cellule occupee sur la derniere ligne du "plage"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut trouver la derniere cellule occupee sur la derniere ligne du "plage"
    bonjour
    voila un truc encore je coince.

    dans une feuil , jai des series de chiffre (1 chiffre par cellule)et 1 serie de chiffre par ligne

    la longueur de chaque serie (donc le nb de colonne)est variable.
    le nb de serie (donc le nb de lignes) est variable.

    comme connaitre pour chaque serie la derniere colonne non vide afin d'exploiter dans le code cells(ligne, dercolonne)

    merci

  2. #2
    Membre confirmé Avatar de scully2501
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Par défaut
    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
     
    Function chn() As String
    'Fonction qui permet de retrouver la dernière cellule occupée
        Dim DerCell As Range
        Dim derLi, derCol
     
        On Error GoTo fin
        derLi = Cells.Find("*", [A1], , , 1, 2).row
        derCol = Cells.Find("*", [A1], , , 2, 2).Column
        Set DerCell = Cells(derLi, derCol)
     
        chn = DerCell.Address
     
        Exit Function
    fin:
        Set DerCell = Cells(1, 1)
        chn = DerCell.Address
    End Function
    IL existe d'autre code plus simple mais j'ai que celui la en tête

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("a1").End(xlToRight)
    renvoie la cellule qui précéde la première cellule vide de la ligne 1,en partant de A1, vers la droite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    range("iv1").end(xltoleft)
    renvoie la dernière cellule non vide de la ligne 1

    Ces codes sont à rapprocher de l'utilisation de Ctrl+flèche de direction

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    bonjour
    merci
    juste une precision .
    le code vba m'interesse plus.
    je recherche bien la derniere cellule, mais surtout son Numero de colonne .

    je regarde le code


    merci encore

  5. #5
    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
    Regarde dans la FAQ, tu as les différentes syntaxes utilisables et quelques explications http://excel.developpez.com/faq/inde...reLigneNonVide, Chapitre "Comment retrouver les numéros des dernières lignes et dernières colonnes renseignées dans une feuille ?"

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    bonsoir
    merci ouskel'n'or
    j'ai regardé tout cela.

    mais ma chaine =$H$45
    je fais val(replace(chn,"$","")
    je devrais obtenir 45 or j'ai 0 ???????

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par oscar.cesar Voir le message
    bonjour
    merci
    juste une precision .
    le code vba m'interesse plus.
    je recherche bien la derniere cellule, mais surtout son Numero de colonne .

    je regarde le code


    merci encore
    Une fois que tu as la cellule, tu as sa colonne.
    N'oublie pas que Celllule est un objet, donc tu peux utiliser toutes ses propriétés...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    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
    Mais la question est : C'était la colonne ou la ligne que tu voulais obtenir ?
    Citation Envoyé par oscar.cesar
    mais ma chaine =$H$45
    je fais val(replace(chn,"$","")
    je devrais obtenir 45 or j'ai 0 ???????
    Maintenant, si c'est la colonne, tu pouvais aussi regarder là http://www.developpez.net/forums/sho...57&postcount=4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set LeRange = Range("T12") 'Range
    'ou 
    Set LeRange = Cells(12, 20) 'Range
    NoCol = Split(LeRange.address,"$")(1) '=> "T"
    Mais c'est plus simple et plus rapide de mettre ce qu'a donné Pierre Fauconnier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NoCol = range("iv1").end(xltoleft).column
    ... et d'utiliser Cells(NoLigne,NoCol) plutôt que Range(Colonne & Noligne)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/08/2012, 12h08
  2. [XL-2003] Somme conditionnelle avec cellule à evaluer sur la meme ligne
    Par alban.pinel dans le forum Excel
    Réponses: 3
    Dernier message: 22/04/2009, 17h51
  3. [vba Excel] Obtenir dernier cellule non vide d'une ligne
    Par cow_boy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/05/2007, 10h07
  4. Réponses: 5
    Dernier message: 31/01/2007, 11h33
  5. [VBA-E]coordonnées de la derniere cellule marqué sur excel
    Par amelhog dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/02/2006, 19h39

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