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 :

Recherche cellule vide Excel VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut Recherche cellule vide Excel VBA
    Bonjour à tous.

    Première utilisation car inscription ce jour.

    Voici ma requête.

    Je cherche à me positionner sur la première cellule vide d'une plage spécifique d'une colonne.

    Exemple:

    A1:eeeeeeeeee

    A2:rrrrrrrr

    A3:

    A4:kkkkkkkkkkkk


    Sélection de la plage A1:A4
    La cellule active devrait être A3
    Si plusieurs cellules vides, se positionner sur la première cellule vide.
    Les cellules concernées n'ont jamais de formule à l'intérieure.

    Ouverture de la fonction avec Private Sub CommandButton_Click()


    Pouvez-vous me transmettre le code VBA.

    Merci à tous.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour !

    Merci de bien lire les règles de ce forum ‼

    A partir de la première cellule, utiliser la propriété End(xlDown) pour trouver la dernière saisie avant la première cellule vide,
    (correspond dans Excel à CTRL + Flèche Bas)

    il suffit ensuite de décaler d'une cellule vers le bas via la propriété Offset.

    Tout ceci étant documenté dans l'aide VBA interne donc à la portée d'un débutant …
    Sans compter la possibilité d'activer l'Enregistreur de macro et opérer manuellement : le code est livré sur un plateau !

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Marc-L et Menhir
    Ou même ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UsedRange.Columns(1).SpecialCells(xlCellTypeBlanks).Row
    qui évitera d'avoir le rows.count si la colonne est encore entièrement vide ou que seule la cellule A1 est remplie.

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    C'est facile avec For...Next

    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
     
    Sub PremiereCelluleVide()
     
    Set r = Range("b3:b50")
     
    For i = 1 To r.Rows.Count
     
     If r.Cells(i).Formula = "" Then
     
      Set PremiereVide = r.Cells(i)
      PremiereVide.Select
     
      Exit Sub
     End If
     
    Next
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut
    Citation Envoyé par Docmarti Voir le message
    C'est facile avec For...Next

    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
     
    Sub PremiereCelluleVide()
     
    Set r = Range("b3:b50")
     
    For i = 1 To r.Rows.Count
     
     If r.Cells(i).Formula = "" Then
     
      Set PremiereVide = r.Cells(i)
      PremiereVide.Select
     
      Exit Sub
     End If
     
    Next
    End Sub



    Parfait, la solution et maintenant en pratique et tout fonctionne, un grand merci

    A une prochaine fois

    Dens

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Comment faire compliqué quand on peut faire simple...

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Dens38 Voir le message
    Je cherche à me positionner sur la première cellule vide d'une plage spécifique d'une colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").End(xlDown).Offset(1,0)
    https://msdn.microsoft.com/fr-fr/lib.../ff839539.aspx

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

Discussions similaires

  1. [XL-2010] première cellule vide rencontrée VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/09/2014, 21h14
  2. [XL-2000] detection cellule vide en vba
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/12/2010, 20h39
  3. [XL-2007] recherche cellule vide dans colonne
    Par dandy87 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/11/2010, 16h33
  4. Supprimer une cellule vide excel
    Par bakaouf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2010, 15h48
  5. tester cellule vide excel
    Par maxos75 dans le forum ASP
    Réponses: 1
    Dernier message: 14/09/2005, 17h02

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