Sélections de ligne d'une feuille excel depuis un userform en vba
Chpwa
Messages postés1Date d'inscriptionmardi 2 juin 2009StatutMembreDernière intervention 2 juin 2009
-
2 juin 2009 à 15:39
garion28
Messages postés1543Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention 3 avril 2011
-
10 juin 2009 à 13:14
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
A voir également:
Sélections de ligne d'une feuille excel depuis un userform en vba
garion28
Messages postés1543Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention 3 avril 2011 10 juin 2009 à 13:14
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 :)