XL 2010 [Résolu par thebenoit] Problème de recherche avec les Tag's

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 !

Lone-wolf

XLDnaute Barbatruc
Bonjour à toutes et à tous 🙂

Suite à l'insertion de nouvelles colonnes, je n'arrive plus à afficher correctement les données dans le formulaire 1 suite à une recherche, malgré que dans les propriétés des contrôles les Tag sont corrects.

Par la même occasion, dans le formulaire 2, inclure dans le bouton "Modifications" une macro qui aille chercher, suite à la sélection d'une ligne dans la ListBox (Doublons), la ligne exacte après modifications dans les Textbox's.
 

Pièces jointes

Re

Voilà j'ai modifier le code de recherche du formulaire 1. J'aimerais quand même que quelqu'un vienne à mon secours concernant ma 2ème demande. Je ne sais pas comment faire pour modifier la ligne de la feuille "Factures" suite au choix de la ligne de la ListBox. Je m'explique

Je choisi le nom dans la ComboBox
Les lignes(doublons) s'affiche dans la ListBox
Je sélectionne une des lignes où les données viennent s'afficher dans les TextBox's.
J'y apporte les modifications et en cliquant sur le bouton, la ligne de la feuille se modifie en conséquence.

J'éspère que c'est plus claire.
 
Bonjour Lone-Wolf.

Pour ta première demande :
Code:
Private Sub CmdRecherche_Click()
Dim ctrl As Control, i%, j%
Set ws = Sheets("enregistrement clients")
With ws
    'Numéro de ligne.
    i = WorksheetFunction.Match(Me.ComboBox1.Text, .Columns(4), 0)
    'On boucle les contrôles.
    For Each ctrl In Controls
        If ctrl.Tag <> "" Then
            j = Val(ctrl.Tag)
            ctrl.Value = .Cells(i, j).Value
        End If
    Next ctrl
End With
    'Adaptation des formats.
With Me
    .TextBox7.Value = Format(.TextBox7.Value, "00 00 00 00 00")
    .TextBox8.Value = Format(.TextBox8.Value, "00 00 00 00 00")
    .TextBox12.Value = Format(.TextBox12.Value, "0")
    .TextBox13.Value = Format(.TextBox13.Value, "0")
    .TextBox14.Value = Format(.TextBox14.Value, "### €")
    .TextBox15.Value = Format(.TextBox15.Value, "### €")
End With
End Sub

Pour la seconde, à ajouter dans la procédure de modifications :
Code:
Dim i%, Ligne%, Critère$, c, d As Object

'Recherche de la ligne sélectionnée.
With Me.ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            For j = 0 To 4
                Critère = Critère & .List(i, j)
            Next j
            Exit For
        End If
    Next i
End With

If Critère = "" Then MsgBox "Aucune ligne sélectionnée": Exit Sub

Set d = CreateObject("scripting.dictionary")

With Sheets("reception factures")
    For i = 2 To .[a65000].End(xlUp).Row
        For j = 3 To 7
            d(i) = d(i) & .Cells(i, j).Value
        Next j
    Next i
End With

For Each c In d.Keys
    If d(c) = Critère Then Ligne = c: Exit For
Next c
 
Pour la première c'est bizarre, pour la seconde c'est normal tu as demandé la ligne alors je ne t'ai fourni qu'une méthode pour obtenir le numéro de ligne.

160706120614110193.gif
 

Pièces jointes

Bonjour thebenoit

Dans le formulaire2, comme tu as pu le voir, la listbox affiche les doubons. Pour faciliter la recherche, j'ai rajouté une textbox qui devrait afficher le numéro de la ligne (colonne A). Tu voudrait bien modifier le code pour que, quand je clique sur l'une des lignes, le numéro vienne s'afficher?

D'avance, merci pour ton aide.
 

Pièces jointes

Bonjour thebenoit 🙂

Genial! Tu me sauve des tourments. Merci mille fois.

En attentand que l'on réponde, j'ai essaié comme ceci

VB:
With ListBox1
Set plage = ActiveSheet.Range("a2:m" & Range("m65536").End(xlUp).Row)
For i = 0 To .ListCount - 1
If .Selected(i) Then Set rw = plage.Find(.List(i, 8), , xlValues)
TxtID = rw.Offset(i - 2, -11)
Next i
End With

Mais j'avais tout faux.
 
- 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
22
Affichages
1 K
Réponses
33
Affichages
3 K
Retour