Bonjour,
Je cherche comment me retrouver sur la prochaine cellule vide après une recherche de valeur dans une colonne.
Je fais une recherche dans un tableau de la valeur se trouvant en cellule R1.
Il se peut qu'un article se retrouve plusieurs fois, donc via une MFC, toutes les lignes passent en bleu.
Ma cellule active est la première cellule de cette liste, hors si un prix à déjà été saisi, je souhaiterais me positionner sur la première cellule vide qui suit.
J'y suis parvenu hier grâce a une boucle while mais mon excel a planté, j'ai perdu mon bout de code et je ne de me rappelle plus comment je m'y suis prie. Je fais du bricolage en vba donc ça ne me saute pas aux yeux.
Le bout de code :
je fais appel à une inputbox si aucune valeur n'est trouvé :
Merci de votre aide
Je cherche comment me retrouver sur la prochaine cellule vide après une recherche de valeur dans une colonne.
Je fais une recherche dans un tableau de la valeur se trouvant en cellule R1.
Il se peut qu'un article se retrouve plusieurs fois, donc via une MFC, toutes les lignes passent en bleu.
Ma cellule active est la première cellule de cette liste, hors si un prix à déjà été saisi, je souhaiterais me positionner sur la première cellule vide qui suit.
J'y suis parvenu hier grâce a une boucle while mais mon excel a planté, j'ai perdu mon bout de code et je ne de me rappelle plus comment je m'y suis prie. Je fais du bricolage en vba donc ça ne me saute pas aux yeux.
Le bout de code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$R$1" Then
Set c = Columns("B:P").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Rows(c.Row).Columns("L").Select
Else
MsgBox "Article non trouvé"
Call Inputbox_scan
End If
End If
End Sub
je fais appel à une inputbox si aucune valeur n'est trouvé :
Code:
Sub Inputbox_scan() ' Ctrl + S
Dim Scan As Variant
Scan = Inputbox("Code barre :", "Scan d'article")
' Si l'utilisateur n'a saisie aucune donnée et qu'il clique sur OK,
' ou si l'utlisateur clique sur Annuler, on quitte la procédure.
If Scan = "" Then
MsgBox "Aucune article n'a été scanné"
'Exit Sub
' Sinon inscrire dans R1
Else
Range("$R$1").Value = Scan
ActiveCell.Offset(0, 0).Activate
End If
Exit Sub
End Sub
Merci de votre aide