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 :

[Excel] Détection cellulles pleines


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Destiny
    Profil pro
    Inscrit en
    Février 2005
    Messages
    720
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 720
    Par défaut [Excel] Détection cellulles pleines
    Bonjour,

    je suis fait une petit application excel, et j'aimerai savoir comment détecter l'avant dernière ligne qui contient quelque chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim nom_colonne, Var As String
     
    Var = "Z"
     
     
        Columns("O:" + Var + "").Select
        Selection.EntireColumn.Hidden = True
     
    End Sub
    En fait j'aimerais avoir au lieu de Z l'avant derrnière collone qui contient du texte.

    si vous avez une idée merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("O1",range("IV1").End(xlToLeft).Offset(0,-1)).EntireColumn.Hidden = true

  3. #3
    Membre éclairé Avatar de Destiny
    Profil pro
    Inscrit en
    Février 2005
    Messages
    720
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 720
    Par défaut
    désolé mais ca ne marche pas...

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Destiny
    désolé mais ca ne marche pas...
    ? ben pourquoi. .?

    tu n'as rien sur ta premiére ligne..? , tu n'agit pas sur la feuille en cours..?

  5. #5
    Membre éclairé Avatar de Destiny
    Profil pro
    Inscrit en
    Février 2005
    Messages
    720
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 720
    Par défaut
    en fait j'aimerai faire ca:

    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
    25
    26
    27
    28
    29
    Dim nom_colonne, Var As String
     
    Var = "Z"
     
     
    While Cells(1, i) <> ""
     
    i = i + 1
     
    Wend
     
     
     
     
     
    'permet de trouver la lettre associée au chiffre pour la colonne
     
    NumCol = Cells(1, i).Column
     
     
      lettre = IIf(NumCol > 26, Chr(64 + NumCol \ 26) & Chr(64 + NumCol Mod 26), Chr(64 + NumCol))
     
     
     
     
        Columns("O:" + lettre + "").Select
        Selection.EntireColumn.Hidden = True
     
    End Sub
    mais j'ai des erreurs apparement...
    là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Cells(1, i) <> ""
    et là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumCol = Cells(1, i).Column

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Que vaut "i" lors de ta 1ere erreur?
    Et sache que, sauf erreur, Cells(1, i).Column est égal à i

    Pour masquer de la colonne 15 à 20 par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    feuil.Range(feuil.Cells(1, 15), feuil.Cells(1, 20)).EntireColumn.Hidden = True

  7. #7
    Membre éclairé Avatar de Destiny
    Profil pro
    Inscrit en
    Février 2005
    Messages
    720
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 720
    Par défaut
    J'aimerais comme numéro de colonne, la dernière qui contient quelque chose dans une de ses ligne...

    c'est tout, mais je ne sais absolument pas comment faire..

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Ta methode est bonne, et celle de bbil aussi.
    Il faut juste initialiser : Par contre si tu as tjs un message d'erreur, c'est que toutes tes cellules sont remplies jusqu'a la derniere.
    Donc combien vaut ton "i" dans la boucle, quand tu as le message d'erreur?

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    au fait, as-tu reelement besoin de connaitre la lettre de la colonne? je crois que juste le numero suffit, si c'est juste pour la masquer :
    Pour masquer de la colonne 15 à 20 par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    feuil.Range(feuil.Cells(1, 15), feuil.Cells(1, 20)).EntireColumn.Hidden = True

  10. #10
    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
    En fait, si ce que tu veux connaître, c'est la dernière colonne renseignée...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DernièreColonne = Range("A1").SpecialCells(xlCellTypeLastCell).Column
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DernièreColonne = Cells(1,1).SpecialCells(xlCellTypeLastCell).Column
    Et maintenant, pour la lettre correspondante, suffit que tu fasses,
    avec VBA97 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LaDerDesDer = left(Columns(DernièreColonne).Address, instr(Columns(DernièreColonne).Address, ":") - 1)
    et, selon AlainTech et VBA > 97 où c'est encore plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LaDerDesDer = Split(Columns(DernièreColonne).Address(ColumnAbsolute:=False), ":")(1)
    Jète un oeil ici http://www.developpez.net/forums/sho...d.php?t=227092 tout est dit
    A+

Discussions similaires

  1. [XL-2010] Recherche de la derniére ligne/ cellule pleine dans excel
    Par m_leila dans le forum Excel
    Réponses: 1
    Dernier message: 06/02/2013, 19h37
  2. [VBA-excel] Affecter une date à la première cellule pleine
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 10/11/2006, 13h06
  3. [VBA-E]Création fichier EXCEL et détection cellule vide
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/02/2006, 18h22
  4. [VB][Excel]test la dernière cellule pleine d'une feuille
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/09/2005, 14h25
  5. Pilotage excel (couleur cellule)
    Par TheGoldViking dans le forum C++Builder
    Réponses: 1
    Dernier message: 14/04/2005, 11h59

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