Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Trouver la 1ère cellule vide sur une ligne donnée

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

jofdm

XLDnaute Occasionnel
Bonjour à tous,

Mon problème est le suivant :
Je fais une recherche à partir d'un userform. Le résultat de cette recherche s'affiche dans la TextBox 1.
Ensuite, dans ma feuille de données, je souhaite inscrire la valeur de la Textbox9 de ce même userform dans la 1ère colonne vide de la ligne correspondant à la textbox1.

J'ai donc écrit le code suivant :

Private Sub Valider_Click()
Dim x As Long
Dim y As Long
Dim z As String
z = SortieStock.TextBox1.Value
Dim trouve As Boolean
Dim FL2 As Worksheet
Set FL2 = Worksheets("SORTIE STOCKS")
For x = 2 To FL2.Range("A65535").End(xlUp).Row
If UCase(FL2.Range("A" & x)) Like z Then
LigneActive = x
End If
Next x
For y = 7 To 50
If FL2.Cells(LigneActive, y).Value = "" Then
ColonneActive = y
FL2.Select
Cells(LigneActive, ColonneActive).Select
FL2.Cells(LigneActive, ColonneActive).Value = SortieStock.TextBox9.Value
Unload SortieStock
MsgBox ("Sortie comptabilisée")
Sheets("MENU").Select
SortieStock.Show
trouve = True
Exit For
End If
Next y

If Not trouve Then
MsgBox ("Requête non trouvée")
End If

End Sub

Mon souci c'est que ce code ne fonctionne que pour une seule ligne.
Pour toutes les autres, l'erreur se situe sur la ligne soulignée et je ne comprends absolument pas pourquoi.
Merci d'avance pour votre aide car je commence à m'arracher les cheveux !
 
Re : Trouver la 1ère cellule vide sur une ligne donnée

Bonjour,

Dure dure de comprendre ce qui ce passe en voyant juste le code.
Si tu pouvais envoyer un bout du fichier, on y verrait plus clair.
 
Re : Trouver la 1ère cellule vide sur une ligne donnée

Re,

je te propose ce code pour le bouton valider:

Code:
Private Sub Valider_Click()
  Dim x As Long
  Dim y As Long
  Dim NomZ As String
  Dim Trouve As Boolean
  Dim FL2 As Worksheet
  Dim NomComm As Range
  NomZ = SortieStock.TextBox1.Value
  Set FL2 = Worksheets("SORTIE STOCKS")
With FL2
  Set NomComm = .Columns(1).Find(NomZ, LookIn:=xlValues, lookat:=xlWhole)
  If Not NomComm Is Nothing Then
    LigneActive = NomComm.Row
  Else
    MsgBox "Le nom commercial n'a pas été trouvé.", vbExclamation
    Exit Sub
  End If
  
  ColonneActive = .Range("IV" & LigneActive).End(xlToLeft).Column + 1
  .Cells(LigneActive, ColonneActive).Value = SortieStock.TextBox9.Value
End With

End Sub
Il y a des données en colonne Z donc la quantité à sortir va se mettre en colonne AA.

Edit: 2 up en à peine 5 heures, faut pas être pressé comme ça...
 
Dernière édition:
Re : Trouver la 1ère cellule vide sur une ligne donnée

Bonsoir jofdm, skoobi


Teste comme ça :

Code:
Private Sub Valider_Click()
Dim x As Long
Dim y As Long
Dim z As String
Dim trouve As Boolean
Dim FL2 As Worksheet

z = SortieStock.TextBox1.Value
Set FL2 = Worksheets("SORTIE STOCKS")
With FL2
    For x = 2 To .Range("A65536").End(xlUp).Row
        If UCase(.Range("A" & x)) Like UCase(z) Then
        LigneActive = x
        End If
    Next x
     For y = 7 To 50
         If .Cells(LigneActive, y).Value = "" Then
            .Cells(LigneActive, y).Value = SortieStock.TextBox9.Value
             Unload SortieStock
             MsgBox ("Sortie comptabilisée")
             SortieStock.Show
             trouve = True
             Exit For
         End If
     Next y
    
    If Not trouve Then
          MsgBox ("Requête non trouvée")
        End If
End With
End Sub

J'ai supprimé :
- les Select qui ne servent à rien,
- la variable ColonneActive

La fonction UCase met en majuscule, donc il faut aussi mettre en majuscule la variable z.
Tu peux aussi facilement te passer de la variable FL2 comme ceci :
With Sheets("("SORTIE STOCKS")

Et comme le dit skoobi, à un moment donné il y aura un problème avec la colonne z

A+ bonne soirée
 
Re : Trouver la 1ère cellule vide sur une ligne donnée

Bonsoir Skoobi, bonsoir bqtr,
Merci beaucoup pour votre aide, je vais tester ça de ce pas.
Quant aux UP, désolé, je recommencerai plus promis. Mais j'étais vraiment frustré de ne pas trouver mon erreur, d'autant que, aussi bizarre que cela puisse paraître, il fonctionnait sur une et une seule ligne.
Encore merci à vous 2 et bonne soirée
 
- 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

Discussions similaires

Réponses
5
Affichages
821
Réponses
4
Affichages
681
Réponses
2
Affichages
491
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…