Pb alimentation Combobox et concaténation Vlookup

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je fais appel à vous pour 2 pbs :
le 1er : je ne parviens pas à alimenter les combobox contenues sur un formulaire et je ne comprends pas pourquoi

le 2nd : je cherche à concaténer des conditions afin de vérifier si des listes au contenu identique existe dans une feuille afin de prévenir la saisie de doublon qui doit être rendue impossible (Mais il y a peut être plus simple.

Merci beaucoup pour votre aide

Voici les codes

Codes Combobox
Code:
Private Sub UserForm2_show()
Dim J As Long

  With Sheets("Base")
    For J = 2 To .Range("A" & .Rows.Count).End(xlUp).Row             ' => pour lister les code de commande
     ComboBox1.AddItem .Cells(J, "A") 'Ajoute les valeurs des cellules
   Next J
  End With

With Me.ComboBox4
            cboComboBox.AddItem "1"
            cboComboBox.AddItem "2"
            cboComboBox.AddItem "3"
            cboComboBox.AddItem "4"
            cboComboBox.AddItem "5"
    End With
End Sub

Code Conditions éviter doublons
[/Code]
Private Sub ValiderSaisie_Click()

'Ce code ne fonctionne pas :
'num = Sheets("Détail").Range("A65536").End(xlUp).Row + 1
Sheets("Base").Activate
L = Application.VLookup(ComboBox1, Range(Cells(1, 1), Cells(num - 1, 1)), 1, False) _
& Application.VLookup(TextBox5, Range(Cells(1, 3), Cells(num - 1, 3)), 1, False) _
& Application.VLookup(ComboBox4, Range(Cells(1, 4), Cells(num - 1, 4)), 1, False) _
& Application.VLookup(ComboBox5, Range(Cells(1, 5), Cells(num - 1, 5)), 1, False) _
& Application.VLookup(TextBox6, Range(Cells(1, 6), Cells(num - 1, 6)), 1, False)

If IsError(L) Then
'MsgBox "vide"
Range("A" & num).Value = ComboBox1.Value 'Nom
Range("B" & num).Value = TextBox4.Value 'Ville
Range("C" & num).Value = TextBox5.Value 'Permis
Range("D" & num).Value = ComboBox4.Value 'N° sesion
Range("E" & num).Value = ComboBox3.Value 'N° unité
Range("F" & num).Value = TextBox6.Value 'Référence
Unload UserForm2
Else
MsgBox "Impossible d'enregistrer les données identiques existent déjà dans la feuille détail"
End If

End Sub
[/code]
 

Pièces jointes

  • testv3.xls
    61.5 KB · Affichages: 18
  • testv3.xls
    61.5 KB · Affichages: 28
  • testv3.xls
    61.5 KB · Affichages: 27

titiborregan5

XLDnaute Accro
Re : Pb alimentation Combobox et concaténation Vlookup

Re,
et comme ceci:
Code:
Private Sub ValiderSaisie_Click()
For i = 2 To 8
Cells(i, 7).Value = Cells(i, 1).Value & Cells(i, 2).Value & Cells(i, 3).Value & Cells(i, 4).Value & Cells(i, 5).Value & Cells(i, 6).Value
Next
t = ComboBox1.Value & TextBox4.Value & TextBox5.Value & ComboBox4.Value & ComboBox3.Value & TextBox6.Value
Set F = Range("G1:G8").Find(what:=t)
If Not F Is Nothing Then
MsgBox "attention"
End If
Columns("G").ClearContents
Unload Me

End Sub
?
 

fb62840

XLDnaute Impliqué
Re : Pb alimentation Combobox et concaténation Vlookup

Super, merci beaucoup pour cette proposition, ça fonctionne sur la plage existante mais cette plage est par principe inconnue au départ, il faudrait la rendre dynamique pour courir de la ligne 1 colonne A à la dernière ligne contenant des données sur la feuille.

je ne parviens pas à adapter, un coup de main serait vraiment bienvenu
 

fb62840

XLDnaute Impliqué
Re : Pb alimentation Combobox et concaténation Vlookup

Re-bonjour,

J'ai également un autre problème.

Si j'ajoute ceci à votre code (après la msgbox) afin d'obtenir si les données n'étaient pas en doublon qu'elles soient reportées sur la feuille ça ne marche pas, les doublons ne sont plus repérées et les lignes sont ajoutées.

Code:
MsgBox "Il n'est pas possible d'enregistrer plusieurs fois la même ligne! Vous devez donc soit corriger soit annuler !"
Else
With Sheets("Détail")
 Num = Sheets("Détail").Range("A65536").End(xlUp).Row + 1

    Range("A" & Num).Value = ComboBox1.Value 'Nom
    Range("B" & Num).Value = TextBox4.Value 'Club
    Range("C" & Num).Value = TextBox5.Value 'Licence
    Range("D" & Num).Value = ComboBox4.Value 'Session
    Range("E" & Num).Value = ComboBox3.Value 'Unité
    Range("F" & Num).Value = TextBox6.Value 'Session
End With
End If

Le problème vient sans doute de ma façon d'alimenter les cellules qui ne doit pas être correcte
 

titiborregan5

XLDnaute Accro
Re : Pb alimentation Combobox et concaténation Vlookup

Super, merci beaucoup pour cette proposition, ça fonctionne sur la plage existante mais cette plage est par principe inconnue au départ, il faudrait la rendre dynamique pour courir de la ligne 1 colonne A à la dernière ligne contenant des données sur la feuille.

je ne parviens pas à adapter, un coup de main serait vraiment bienvenu
pour rendre dynamique, en considérant que A est toujours rempli, remplacer:
Code:
For i = 2 To 8
par :
Code:
For i = 2 To range("a1").end(xldown).row
 

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland