trouver derniere ligne vide et remplir avec textbox

  • Initiateur de la discussion Initiateur de la discussion lolo34140
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lolo34140

Guest
Bonjour,

Je cherche une macro me permettant de trouver la dernière ligne vide d'un tableau (commençant à la ligne 5 dans mon cas) et de remplir dans cette dernière ligne vide des valeurs via des textbox d'un userform.
J'arrive très bien à le faire mais c'est conditionné par rapport à une seule colonne mon code (genre colonne C ou D ..)
J'aimerai trouver la 1 ere ligne du tableau qui soit complètement vide sur toute les colonnes. Car elles ne sont pas forcément toutes remplie au même en droit. Donc je ne peux pas faire référence à une colonne précise. Ou alors je peux le faire sur 2 colonnes qui sont toujours rempli dans mon cas. C'est à dire si la ligne de la colonne C et de la colonne T est vide.

Merci
 
Re : trouver derniere ligne vide et remplir avec textbox

Bonsoir Lolo34140

Dans ton cas, la dernière ligne est trouvée avec le code
Code:
DLig = Cells.SpecialCells(xlCellTypeLastCell).Row

A+
 
Re : trouver derniere ligne vide et remplir avec textbox

Merci.

Je n'arrive pas à renvoyer une valeur saisie dans un textbox dans la ligne vide avec ce code. A chaque fois, et je ne comprends pas pourquoi, la valeur saisie va à la ligne 103 alors qu'il n'y a rien avant et après.
 
Re : trouver derniere ligne vide et remplir avec textbox

Re,

Je viens de voir ce que tu avais mis en dernier
Ou alors je peux le faire sur 2 colonnes qui sont toujours rempli dans mon cas. C'est à dire si la ligne de la colonne C et de la colonne T est vide.

Il suffit donc alors d'utiliser
Code:
DLig = Sheets("NomFeuille").Range("C" & Rows.Count).End(XlUp).row

Pour êtres certain que la dernière ligne cherchée se fait bien dans la feuille voulu,
il suffit de l'indiquer avant le Range

A+
 
Re : trouver derniere ligne vide et remplir avec textbox

Merci encore.

Mais je n'y arrive toujours pas. Cela doit venir de la façon dont je récupère le numéro de ligne pour ensuite y renvoyer via textbox des valeurs. Je n'arrive pas à utiliser ce code avec un textbox. Je ne sais pas trop comment faire.
La formule précédente ne convient pas dans mon cas car ce doit être la colonne C et la colonne T qui doivent être vérifiée ensemble.
 
Re : trouver derniere ligne vide et remplir avec textbox

Re,

Pourquoi te fais-tu des noeuds au cerveau, à moins que je n'ai pas tout compris 😕

Chaque étape de fabrication comporte des tests ...
Si tu veux ajouter une étape de fabrication,
il suffit de regarder quel est la dernière ligne remplie par un test
et d'ajouter 2 lignes en dessous dans la colonne "C", la nouvelle étape, non !?

Code:
Private Sub CommandButton1_Click()  Dim DLig As Long
  With Sheets("Analyse des essais")
    DLig = .Range("T" & Rows.Count).End(xlUp).Row
    .Range("C" & DLig + 2).Value = TextBox1.Value
  End With
End Sub

A+
 
Re : trouver derniere ligne vide et remplir avec textbox

Avec un référencement seulement sur la colonne T ça ne peut pas marcher. Soit ça doit vérifier si la colonne C et la colonne T sont vides ensemble. Le mieux étant je pense la ligne entière.
 
Re : trouver derniere ligne vide et remplir avec textbox

Oui j'ai essayé mais ça ne peut pas marcher avec mon tableau car je peu avoir une référence par exemple qui n'a pas de test. Ou deux référence qui se suivent et qui n'ont pas de tests. Dans ces cas ça ne marche pas.
 
Re : trouver derniere ligne vide et remplir avec textbox

Re,

Et bien voilà on y arrive ... 🙄 tu vois quand tu veux bien t'expliquer un peu
Code:
Private Sub CommandButton1_Click()
  Dim DLig1 As Long, DLig2 as long
  With Sheets("Analyse des essais")
    DLig1 = .Range("C" & Rows.Count).End(xlUp).Row
    DLig2 = .Range("T" & Rows.Count).End(xlUp).Row
    If Dlig2 > Dlig1 then
    .Range("C" & DLig2 + 2).Value = TextBox1.Value
    Else
    .Range("C" & DLig1 + 2).Value = TextBox1.Value
    End IF
  End With
End Sub

A+
 
Bonjour,

Qui pourra m'aider svp, j'ai fait une macros et j'aimerais récupérer des informations d'un onglet "Bon Entrée" qui ce trouve dans ces différent cellules : A2, C2, E2, F2, H2, I2
sur un autre onglet "TOTAL" : A5:F5 à partir de A2 dans onglet "Bon Entrée"

J'arrive à le faire mais lorsque je vide une cellule dans colonne A dans "TOTAL" et que je fait mais modification dans "Bon Entrée" et je clique sur récupérer, je retrouve mes informations dans la ligne qui suit, mais j'aimerai plutôt les avoir dans la cellule vide du haut pour ne pas avoir un vide dans mon tableau
VB:
Sub Sauver()
Dim DerniereLigne As Integer
DerniereLigne = Sheets("TOTAL").Range("A5000").End(xlUp).Row + 1
If Application.WorksheetFunction.CountIf(Sheets("TOTAL").Range("A5:A100000"), ActiveSheet.Range("A2").Value) Then
If MsgBox("Attention ce N° BE existe déja...!", vbOKOnly + vbExclamation, "Doublon...!") = vbOK Then
Exit Sub
End If
End If
If MsgBox("Êtes vous sûr de vouloir enregistrer les information...?", vbYesNo + vbQuestion, "Confirmation !") = vbYes Then
Sheets("TOTAL").Range("A" & DerniereLigne).Value = ActiveSheet.Range("A2").Value
End If
End Sub
 
Bonjour Daher Ali,

Cette fonction modifiée, permet de trouver dans la dernière ligne remplie dans la colonne A
Code:
DerniereLigne = Sheets("TOTAL").Range("A" & Rows.Count).End(xlUp).Row + 1

Si cette cellule est vidée, il faut t'appuyer sur une autre colonne

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
408
Réponses
6
Affichages
314
Retour