[AIDE] Problème insertion ligne depuis Textbox (ActiveX)

  • Initiateur de la discussion Initiateur de la discussion sfirita
  • 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 !

S

sfirita

Guest
Bonjour a tous,

premièrement salut a tous, je suis nouveau dans cette communauté , je suis débutant dans la programmation VBA et j'aurai besoin de vos conseils/astuces/solutions pour m'aider par rapport a mon problème

Je suis entrain de mettre en place une simple macro permettant de récupérer les valeurs de plusieurs textboxes et les placer dans des lignes dans une autre sheet (feuille)

Mon problème c'est que quand je supprime les lignes insérés et je réessaye de les insérer encore une fois, ça ne prend pas en compte l'espace déjà libéré, il continue a insérer depuis la dernière ligne ajouté (une incrémentation Row+1 basique)

je voudrais que mon programme puisse effectuer l'insertion en prenant en compte la premiére ligne vide dans le tableau (en commençant du haut)

ci-dessou le code que j'ai réalisé :


Code:
Private Sub IncrementMat_Click()

Dim Val As Double
Dim tps As Date
tps = Date

Val = Sheets("Feuil1").Range("L6").Value

ActiveSheet.OLEObjects("IncrementMat").Enabled = False

 Sheets("Feuil1").Range("L6").Value = Sheets("Feuil1").Range("L6").Value + 1
 


Set ws = Sheets("Feuil3")
i = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(i, 4).Value = TextBox1.Value
ws.Cells(i, 2).Value = TextBox2.Value
ws.Cells(i, 3).Value = TextBox3.Value
ws.Cells(i, 1).Value = Val
ws.Cells(i, 5).Value = tps

  End Sub

En vous remerciant d'avance
 
Re : [AIDE] Problème insertion ligne depuis Textbox (ActiveX)

Bonjour et bienvenue sur XLD

tout dépend de l'organisation des données (c'est pour ça qu'il est conseillé de joindre un extrait représentatif du classeur), une solution pour déterminer la première ligne vide à partir de A1:
i = ws.Range("A1").End(xlDown).Row + 1

Par ailleurs, Val est le nom d'une fonction VBA, il vaut mieux éviter de l'employer comme nom de variable.

A+
 
- 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
10
Affichages
630
Réponses
5
Affichages
832
Réponses
2
Affichages
993
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour