INTERFACE AVEC VBA
Résolu/Fermé
AZIZIYOUSSEF
Messages postés
1
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
4 septembre 2014
-
Modifié par pijaku le 5/09/2014 à 08:42
jawja Messages postés 9 Date d'inscription jeudi 4 septembre 2014 Statut Membre Dernière intervention 12 septembre 2014 - 5 sept. 2014 à 10:30
jawja Messages postés 9 Date d'inscription jeudi 4 septembre 2014 Statut Membre Dernière intervention 12 septembre 2014 - 5 sept. 2014 à 10:30
5 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
4 sept. 2014 à 14:08
4 sept. 2014 à 14:08
Bonjour,
Il serait préférable de déclarer L de type Long et ensuite pour rechercher la dernière ligne renseignée, je partirai de la cellule A1 avec XlDown.
Pour l'erreur "1004", je pense que cela vient du point d'interrogation dans la désignation du range.
Il serait préférable de déclarer L de type Long et ensuite pour rechercher la dernière ligne renseignée, je partirai de la cellule A1 avec XlDown.
Pour l'erreur "1004", je pense que cela vient du point d'interrogation dans la désignation du range.
jawja
Messages postés
9
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
12 septembre 2014
4 sept. 2014 à 14:45
4 sept. 2014 à 14:45
Merci pour votre réponse Polux31, j'ai supprimer le point d'interrogation et ça a marché sans utiliser le Xldown, par contre est ce que je peut utiliser cette dernière pour effectuer une recherche en parcourant la première colonne de mon tableau?
Merci
Merci
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par pijaku le 5/09/2014 à 08:41
Modifié par pijaku le 5/09/2014 à 08:41
Si tu recherche la prochaine ligne vide.
Tu peux boucler sur le contenu de ta colonne A
Donc Prochaine_ligne va te donner la prochaine ligne vide lorsqu'il sort de la boucle
Tu peux boucler sur le contenu de ta colonne A
L = 2 'Mettre la ligne ou débute ta base de données While (Sheets("BDD").Range("A"& L).value <> "" L = L + 1 wend
Donc Prochaine_ligne va te donner la prochaine ligne vide lorsqu'il sort de la boucle
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par pijaku le 5/09/2014 à 08:44
Modifié par pijaku le 5/09/2014 à 08:44
Bonjour
Directement sans boucle
Directement sans boucle
With Sheets("BDD")
Ligvid = .Columns("A").Find("", .Range("A2"), xlValues).Row
End With
jawja
Messages postés
9
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
12 septembre 2014
Modifié par pijaku le 5/09/2014 à 08:41
Modifié par pijaku le 5/09/2014 à 08:41
en fait ce que je veux faire c'est de chercher si une bobine existe ou non dans la première colonne, si elle existe alors j'affiche dans textbox2 et textbox3 les cellules qui corespond à la l'intersection de la place de la ligne trouvée avec les colonnes B et C, si la bobine n'existe pas, un message d'erreur s'affiche.
voilà la partie du code qui fait ça!
merci infiniment pour votre temps et votre aide :)
voilà la partie du code qui fait ça!
' 3-chercher et afficher l'existance d'une bobine Private Sub commandbutton2_Click() Dim Res As Range, Col As Range Dim Id As Integer Dim AdRes As String Dim Ll As Integer Id = TextBox1 Set Col = Sheets("BDD").Columns(1) Set Res = Col.Cells.Find(what:=Id, LookAt:=xlWhole) If Res Is Nothing Then MsgBox "Bobine inéxistante!!", vbExclamation, "Message Erreur" Else MsgBox "la bobine existe!!", vbExclamation, "Message Erreur" ' AdRes sera l'adress du resultat trouvé AdRes = Res.Address Ll = Sheets("BDD").Range(AdRes).Row ' Ll devient le numéro de ligne et à partir de la TextBox2 = Range(" B " & Ll).Value TextBox3 = Range(" C " & Ll).Value End If End Sub
merci infiniment pour votre temps et votre aide :)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 5/09/2014 à 08:46
Modifié par michel_m le 5/09/2014 à 08:46
bonjour
Pourquoi dire que la bobine existe puisque les résultats apparaissent dans le formulaire ?
les sorties de code doivent toujours être traitées en fin de procédure (règle d'algorithme)
proposition:
Option Explicit
'-----
Pourquoi dire que la bobine existe puisque les résultats apparaissent dans le formulaire ?
les sorties de code doivent toujours être traitées en fin de procédure (règle d'algorithme)
proposition:
Option Explicit
'-----
Private Sub commandbutton2_Click()
Dim Id As Integer
Dim Li As Integer
Id = TextBox1
With Sheets("BDD")
On Error GoTo Errhandler
'on considère que les entêtes de la base sont en ligne 1
Li = .Columns("A").Find(what:=Id, After:=.Range("A1"), LookAt:=xlWhole).Row
'affichage
TextBox2 = .Range(" B " & Ll).Value
TextBox3 = .Range(" C " & Ll).Value
End With
Exit Sub
Errhandler:
MsgBox "Bobine inéxistante!!", vbExclamation, "Message Erreur"
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jawja
Messages postés
9
Date d'inscription
jeudi 4 septembre 2014
Statut
Membre
Dernière intervention
12 septembre 2014
5 sept. 2014 à 10:30
5 sept. 2014 à 10:30
Bonjour
j'ai essayer avec votre modifications, mais ça me donne tjrs une erreur, il ne traite pas le cas ou la bobine existe et affiche les informations!
pour préciser je vais chercher sur la colonne A et afficher les cellules des colonnes B et C
regards,
j'ai essayer avec votre modifications, mais ça me donne tjrs une erreur, il ne traite pas le cas ou la bobine existe et affiche les informations!
pour préciser je vais chercher sur la colonne A et afficher les cellules des colonnes B et C
regards,