Sujet Combobox urgent

arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007 - 20 nov. 2006 à 17:11
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007 - 22 nov. 2006 à 15:45
bonjour tout le monde,
beh j ai un souci là en VBA, j ai comparer deux colonnes à partir des deux classeures avec ce code la :
Sub comparaison()
Application.ScreenUpdating = False
Dim Collection1 As New Collection, collection2 As New Collection
Dim Cellule1 As Range, Cellule2 As Range
Dim Element1 As Object, Element2 As Object
Dim Time1 As Date, Time2 As Date
Time1 = Now()
Workbooks("balance_1.xls").Activate
For Each Cellule1 In Range("a1:a592")
Collection1.Add Cellule1
Next Cellule1
Workbooks("Balance_2.xls").Activate
For Each Cellule2 In Range("a1:a592")
collection2.Add Cellule2
Next Cellule2
For Each Element1 In Collection1
For Each Element2 In collection2
If Element1 <> Element2 Then
Element1.Font.Color = vbRed
Else
Element1.Font.Color = vbBlack
Exit For
End If
Next Element2
Next Element1
Time2 = Now()
Debug.Print "Test collection :" & Format$(Time2 - Time1, "hh:mm:ss")
Application.ScreenUpdating = True
End Sub
le code ça marche bien il compare et tout mé moi je veu s avoire et ce que possible d apartir d une combobox puis-je ouvrir le repetoire system et selectionner le classuer" Balance_2" et que la ligne en rouge 
pren la valeur de combobox ? 
parceque la balance_1 et standard mé balance_2(à comparer) je ne sais pas le client qui le nom qui va le donnée vous vouillez ?  et c'est ça le souci 
merci pour vous  

8 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 nov. 2006 à 17:16
Ben...
Mon souci, pour l'instant, c'est de comprendre ce que tu a essayé d'écrire... dur dur !
0
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007
20 nov. 2006 à 17:50
tu veux dire quoi la monsieur ?
0
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007
20 nov. 2006 à 17:52
je veux s'avoire si possible d'ouvrire le repertoire système "C:\............." apartir d une combobox 
ok
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
20 nov. 2006 à 23:19
Pourquoi ne pas utiliser une boîte de dialogue et laisser l'utilisateur choisir son fichier ?

Dim Fichier As String
Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls),*.xls,Tous (*.*),*.*")
If Fichier <> False Then
    Workbooks.Open Fichier
else
    exit sub
end if

ensuite tu mets ton code jusqu'à la ligne en rouge et tu écris
Workbooks(Fichier).activate

MPi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007
21 nov. 2006 à 12:43
Bonjour MPI merci pour votre réponse c sympa. mais j ai un bouge sur la ligne " If  Fichier <> False then " ??!!
en tout cas moi j ai déja crée une listbox dans la UserForm et une bouton " sélectionné un dossier " elle ouvre le répertoire et quand je clike sur un dossier la listbox affiche tt les classeur excel existants danes ce dossier
voila le code de bouton : Ps ( il marche bien )
Private Sub CommandButton1_Click()
x = GetDirectory
ligne = Dir(x & "" & "*.xls")
   Do While ligne <> ""
    DoEvents
    ligne = Dir()
    ListBox1.AddItem ligne
Loop
End Sub
le souci qui reste pour moi c'est quand je sélectionne une ligne (classuer) dans la listbox
je veux que le nom de classeur sélectionné remplace les points ici dans mon cas
Workbooks("............").activate*          vous voyez ?!

*la ligne rouge dans le premier message
0
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007
21 nov. 2006 à 12:58
re bonjour, Mpi pour votre code ça marche maintenant, j ai changer (<> false ) par ( <>"")
mais le problème et c le même que je cherche moi meme c'est quoi la commande
que puis-je mettre à la place des points ?
parceque meme dans votre code j ai un bouge là " workbooks(Fichier).activate "
l erreur est " (Fichier) "
parceque j ai met la meme ligne workbooks("balance_1.xls").activate il marche bien vous voyez
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
22 nov. 2006 à 11:34
Normalement, avec Workbooks, il faut spécifier le chemin complet.
Il faudrait peut-être que tu affiches ce que contient la variable Fichier avec un simple MsgBox juste avant de tenter de l'ouvrir et vérifier s'il n'y a pas d'erreur de syntaxe (?)

MPi
0
arch enemy123456 Messages postés 26 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 8 mai 2007
22 nov. 2006 à 15:45
oui MPi j ai déja ajouter un msg de conférmation mais l affichage de msgbox lié à la sélection c'est à dire j ai ajouter l code au niveau de listbox et voila le code :
Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
    Dim rep As Integer
    If mbDisableEvents Then Exit Sub
    mbDisableEvents = True
    With Me.ListBox1
        If .ListCount > 0 Then
            If .ListIndex = .ListCount - 1 Then
                .ListIndex = .ListCount - 1
            End If
        End If
       MsgBox "Vous avez sélectionné :" *& .List(.ListIndex)
      End With
    mbDisableEvents = False
   End Sub
* & .Liste(.Listeindex) = la ligne sélectionné
supposant j ai sélectionné " Balance_2.xls"
le msg va etre comme suite:
"Vous avez sélectionné : Balance_2.xls " 

et pour le souci c'est régler  j ai met " Workbooks(Listbox1.value).activate " c'est à dire il va garder la valeur sélectionné dans la  listbox .
et merci infinment pour votre reponses c sympa merci
0
Rejoignez-nous