|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : bazar de mélange de collection, propriétés, conditions en vba-excel [ Langages dérivés / VBA ] (larsene67)
Informations & options pour cette discussion
lundi 10 juillet 2006 à 11:22:13 |
bazar de mélange de collection, propriétés, conditions en vba-excel

larsene67
|
bon ,maintenant, je commence à patauger, si quelqu'un pouvait m'aider sur ce bout de code que je n'arrive pas à faire marcher: (suite de http://www.vbfrance.com/infomsg_RECUPERER-PROPRIETE-ELEMENT-COLLECTION-TRAVERS-PARAMETRE-FONCTION-VBA_775175.aspx#3 ) Public Liste As New Collection Public regEx As New VBScript_RegExp_55.RegExp 'New RegExp
Sub sub1() Dim machin As New Classe1
machin.nom = "CHRIST" machin.prénom = "Jesus" machin.age = "33 ans" Liste.Add machin Set machin = Nothing
machin.nom = "LUCAS" machin.prénom = "GEORGES" machin.age = "50 ans" Liste.Add machin Set machin = Nothing
machin.nom = "DES BATIGNOLES" machin.prénom = "Marie-thérese" machin.age = "75 ans" Liste.Add machin Set machin = Nothing
machin.nom = "DES BATIGNOLES" machin.prénom = "Marie-thérese" machin.age = "73 ans" Liste.Add machin Set machin = Nothing
'condition = "Liste(i).nom = "DES BATIGNOLES" and Liste(i).age = "75 ans" Condition = Chr(34) & "Liste(i).nom" & Chr(34) & "=" & Chr(34) & "DES BATIGNOLES" & Chr(34) result = sub2(Liste, Condition)
End Sub
Private Function sub2(Liste As Collection, ByVal Condition As String) Dim r As New ScriptControl r.Language = "vbscript" Set regEx = New RegExp regEx.Pattern = "(Liste\(i\))(\.\S+)"
For i = 1 To Liste.Count sub2 = regEx.Replace(Condition, CallByName(Liste(i), "$2", VbGet)) If r.Eval(sub2) Then MsgBox sub2 End If Next i
End Function
|
|
|
lundi 10 juillet 2006 à 11:37:06 |
Re : bazar de mélange de collection, propriétés, conditions en vba-excel

larsene67
|
bon, je trouve pas comment modifier ma question, alors je reposte le code, plus prooche de ce que je veux faire:
Public Liste As New Collection Public regEx As New VBScript_RegExp_55.RegExp 'New RegExp
Sub sub1() Dim machin As New Classe1
machin.nom = "CHRIST" machin.prénom = "Jesus" machin.age = 33 Liste.Add machin Set machin = Nothing
machin.nom = "LUCAS" machin.prénom = "GEORGES" machin.age = 50 Liste.Add machin Set machin = Nothing
machin.nom = "LUCAS" machin.prénom = "Gérard" machin.age = 50 Liste.Add machin Set machin = Nothing
machin.nom = "DES BATIGNOLES" machin.prénom = "Marie-thérese" machin.age = 75 Liste.Add machin Set machin = Nothing
machin.nom = "DES BATIGNOLES" machin.prénom = "Marie-thérese" machin.age = 73 Liste.Add machin Set machin = Nothing
machin.nom = "DES BATIGNOLES" machin.prénom = "Marie-thérese" machin.age = 120 Liste.Add machin Set machin = Nothing
'si la ligne precedente a le meme nom, et l'age est inférieur à 100ans, on la vire Condition = "Liste(j).nom = Liste(i).nom Or Liste(i).age > " & Chr(34) & "100" & Chr(34) sub2 Liste, Condition
Debug.Print Liste.Count End Sub
Private Function sub2(Liste As Collection, ByVal Condition As String) Dim r As New ScriptControl r.Language = "vbscript" Set regEx = New RegExp regEx.Pattern = "(Liste\(i\))(\.\S+)"
Do While i <= Liste.Count For j = 1 To i - 1 Condition2 = regEx.Replace(Condition, CallByName("$1" & "($2)", "$3", VbGet)) If r.Eval(Condition2) Then Liste.Remove (i) i = i - 1 Exit For End If Next j i = i + 1 Loop
End Function
|
|
|
lundi 10 juillet 2006 à 11:56:18 |
Re : bazar de mélange de collection, propriétés, conditions en vba-excel

larsene67
|
Encore un essai qui ne marche toujours pas :(:( :
Private Function sub2(Liste As Collection, ByVal Condition As String) Dim r As New ScriptControl r.Language = "vbscript" Set regEx = New RegExp Set Regex2 = New RegExp regEx.Pattern = "(Liste)(\([ij]\))(\.)(\S+)" Regex2.Pattern = regEx.Pattern
Do While i <= Liste.Count For j = 1 To i - 1 For Each tmp In regEx.Execute(Condition) tmp2 = Regex2.Replace(tmp, "$1$2") tmp3 = Regex2.Replace(tmp, "$4") tmp4 = Regex2.Replace(Condition, CallByName(tmp2, tmp3, VbGet)) Condition = regEx.Replace(Condition, tmp4, VbGet) Next tmp If r.Eval(Condition) Then Liste.Remove (i) i = i - 1 Exit For End If Next j i = i + 1 Loop
End Function
|
|
|
Cette discussion est classé dans : liste, age, machin, condition, ans
Répondre à ce message
Sujets en rapport avec ce message
Base de donnée : j'ai un problème [ par LEAU ]
Bonjour, j'ai un problème j'ai une base de donnée simple, avec trois colones : nom, prénom, et ageJe voudrais pouvoir créer une liste de choix qui se
condition sur zone de liste modifiable [ par d_zyl ]
Salut, voila mon souci : dans un formulaire, j'ai deux zones de liste modifiable . la première donne les choix A,B et C et la deuxième donne les choix
donner une valeur par défaut à une liste déroulante ne contenant pas cette valeur [ par nanach ]
bonjour tout le monde ^^ petit souci sur vba (youpie) que je vous explque : ) j'ai une liste déroulante qui me fournit des ages quinquénale (0-5-10
trier une collection vba-excel [ par larsene67 ]
bon, on va essayer une approche différente de mon problème: soit la collection suivante:(Dans class1:)Public nom, prénom, age(dans module1:)<font face
Affichage liste sous condition [ par horazon ]
Bonjour à tous je suis débutant sous excel et VB pourtant il faudrait que je fasse un fichier regroupant pas mal d'informations.Je voudrais si possibl
Passer une condition à une sub comme paramètre string [ par larsene67 ]
Bonjour, J'ai un programme qui repete regulierement une boucle conditionelle mais avec une condition différente. Afin de simplifier celui-ci, j'ai vou
Condition pour retour à la ligne introuvable ... [ par Pinzut77 ]
Bonjour,Voici une macro qui permet de mettre info de contact de ma colonne sur une ligne mais voila je ne trouve pas de condition pour aller à la lign
Remplir Liste [ par tedparker ]
Bonjour,J'ai récupéré une liste de fichiers avec leur chemin courant et j'aimerai ensuite remplir une sorte de zone de liste avec ces fichiers et perm
recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel) [ par larsene67 ]
Re-bonjour, voici une autre question à un de mes soucis.Alors l'exemple n'est pas très clair quand à l'utilité, mais j'ai simplifié pour la question.C
Retirer des composantes [ par Amonbofis ]
Bonjour!Quelqu'un peux me dire comment retirer des composantes de la listede VB6?Ici je veux dire, quand on veux ajouter une composante au projet,par
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|