Sélections de ligne d'une feuille excel depuis un userform en vba

Signaler
Messages postés
1
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
2 juin 2009
-
Messages postés
1542
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
-
J'ai un Userform avec les éléments suivants pour des titres d'articles :
- une liste titre
- une étiquette thématique
- une étiquette pays (pour le pays concerné)
- une étiquette ville (pour la villle concernée)
-.... (d'autres étiquettes).

Cet Userform va chercher les infos ds une feuille Excel.

Jusque là tt marche comme je veux. Mais j'aimerai maintenant que l'userforme me sélectionne les titres des articles en fonctions de 2 critères:
- la thématique
- la ville.
Le pb c'est que j'ai épuisé toutes mes capacités sur vba et là je ne sais pas comment faire.
Merci beaucoup par avance.

Pr l'instant, mon code donne ça (je ne sais pas où ni comment mettre les conditions)

Sub UserForm_Activate()
Dim Ligne As Long
' --------------- Affichage des listes
With Feuil20
   
        ' --------------- Affiche les listes des bigrammes
      If .Cells(65536, .[Titreliens].Column).End(xlUp).Row >= .[Titreliens].Offset(1, 0).Row Then
        Set Plageliens = .Range(.[Titreliens].Offset(1, 0), .Cells(65536, .[Titreliens].Column).End(xlUp))  ' S'il y a déjà des données dans le tableau
        Vide = False                                                                                
    Else
        Set Plageliens = .[Titreliens].Offset(1, 0)                                      
        Vide = True                                                                                 
    End If
    Listetitre6.RowSource = ""
    For Ligne = 1 To Plageliens.Rows.Count                                               
        With Listetitre6
            .AddItem Plageliens.Cells(Ligne, 1)
        End With       
    Next Ligne
    Listetitre6.ListIndex = 0                                                                        
End With
End Sub



' --------------- Cherche les autres valeurs de la ligne et les affiche dans la boîte de dialogue
Sub ChercheAutresValeurs(Posit As Long)
Dim Dep As Range
Set Dep = Feuil20.Range("Titreliens")                                               ' Cellule de départ
With UserForm6
    .Etiquthematique6.Caption = Dep.Offset(Posit, 7).Value
    .Etiqudate6.Caption = Dep.Offset(Posit, 3).Value
    .Etiqusupport6.Caption = Dep.Offset(Posit, 2).Value
    .Etiqulangue6.Caption = Dep.Offset(Posit, 6).Value
    .Etiquville6.Caption = Dep.Offset(Posit, 5).Value
    .Etiqupays6.Caption = Dep.Offset(Posit, 4).Value
    .EtiquSource6.Caption = Dep.Offset(Posit, 1).Value
    .Etiqulien6.Caption = Dep.Offset(Posit, 8).Value




            
End With




End Sub

1 réponse

Messages postés
1542
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011

de ce que j'ai compris de ton problème:
ex: theme en A, ville en B titre en C
dim i as long
with sheets("feuil20")
i=1

while(etiq_theme<>.range("A" & i).value and etiq_ville<>.range("B" & i).value)
      if (etiq_theme=.range("A" & i).value and etiq_ville=.range("B" & i).value) then goto suite
        i=i+1
wend
suite:
letitre=.range("C" & i).value

end with

voila, je ne sais pas si ca t'aide mais bonne reflexion pour la suite :)