Résolu XL 2019 Excel 2019 trouver ligne vierge

JMP56

XLDnaute Nouveau
Bonjour,
Je cherche une formule ou une macro me permettant en cliquant sur un bouton d’atteindre la première ligne vierge d’un tableau de gestion de compte dont la colonne de gauche est la date d’une dépense.
Merci de votre aide
 
Ce fil a été résolu! Aller à la solution…

Dranreb

XLDnaute Barbatruc
Bonsoir.
Le plus simple c'est de faire subir à votre plage une mise sous forme de tableau.
Vous n'avez alors plus besoin de connaître la cette ligne pour pouvoir en ajouter une par VBA.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @JMP56, à tous,

Une méthode avec des liens basés sur une formule.

Pour la colonne A, le lien se trouve dans la cellule A1 et la formule est:
=LIEN_HYPERTEXTE( "#a" & EQUIV(9^99;A:A)+1;"Prem cellule après dernière cellule avec date")
On se branche après la dernière cellule remplie avec une date de la colonne A

Pour la colonne E, le lien se trouve dans la cellule E1 et la formule est:
=LIEN_HYPERTEXTE( "#e" & MIN(SI(E3:E9999="";LIGNE(E3:E9999);""));"Prem cellule colonne E vide")
On se branche sur la première cellule vide de la colonne E.

Attention! La formule en E1 est une formule matricielle.
Formule Matricielle:
  • à valider par la combinaison des trois touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée
  • ne pas entourer la formule d'accolade au clavier. C'est la validation par Ctrl+Maj+Entrée qui ajoute les accolades
  • une fois saisie et validée, une formule matricielle peut être copiée et collée
  • à chaque édition/modification de la formule matricielle, penser à la valider par Ctrl+Maj+Entrée
 

Fichiers joints

JMP56

XLDnaute Nouveau
Bonsoir mapomme et merci,
Je vois effectivement que cette technique de lien fonctionne dans l'exemple fourni. J’espérais faire fonctionner cela en cliquant sur un bouton nommé "entrer donnée" qui m'emmenerait à la première ligne vierge. Est ce possible?
Cordialement
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Voir le fichier joint. Les codes des deux boutons sont dans le module de la feuille Feuil1.
VB:
Sub Rectangleàcoinsarrondis1_Clic()
   Cells(Application.Match(9 ^ 99, Columns("a:a")) + 1, "a").Select
End Sub

Sub Rectangleàcoinsarrondis2_Clic()
   Range("e3:e" & Rows.Count).SpecialCells(xlCellTypeBlanks).Range("a1").Select
End Sub

edit : j'ai pris comme hypothèse que les colonnes ne contiennent que des nombres (une véritable date en Excel est un nombre).
Si ce n'est pas le cas, le bouton de la colonne A ne fonctionnera pas. Dans ce cas, remplacez le code du premier bouton par :
Code:
Sub Rectangleàcoinsarrondis1_Clic()
Dim n1&, n2&
On Error Resume Next
   n1 = Application.Match(9 ^ 99, Columns("a:a"))
   n2 = Application.Match(String(255, "z"), Columns("a:a"))
   If n2 > n1 Then n1 = n2
   Cells(n1 + 1, "a").Select
End Sub
Le second bouton a déjà le code adapté.
 
Ce message a été identifié comme étant une solution!

Fichiers joints

Dernière édition:

JMP56

XLDnaute Nouveau
Merci mapomme, c'est vraiment sympa de répondre si vite! Je vais tester cela dès demain. Pouvez me dire pourquoi faut il que le bouton se trouve dans la colonne A? Ne peut on pas le mettre à n'importe quel endroit de la feuille de calcul?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Pouvez me dire pourquoi faut il que le bouton se trouve dans la colonne A? Ne peut on pas le mettre à n'importe quel endroit de la feuille de calcul?
Je n'ai jamais dit que les boutons avaient une place fixe!
Il doivent néanmoins se trouver sur la feuille où trouver la cellule vide.
Si ce n'est pas le cas, il faudra modifier un tout petit peu le code.
Me le demander le cas échéant.
 

JMP56

XLDnaute Nouveau
Re bonsoir,
Je viens de le tester. Ça fonctionne parfaitement!
Merci encore!
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas