Re :RESOLU cbxliescpville de dranreb a intégré dans classeur clients?? MERCI DRANREB

grisan29

XLDnaute Accro
bonjour a vous tous du forum

j'ai essayer d'intégrer le classeur cbxliescpvilles de dranreb sur mon fichier clients mais sans succes
il est vrai que les 2 sont a base de modules de classe
en fait je voudrais remplacer les combobox de mon classeur client par ceux du classeur de dranreb
voici l'essai puis le classeur de dranreb et celui que j'utilise
il sont tous sous .xls et je suis sous 2013 donc .xlsm

merci de vos réponses

Pascal
j' ai oublier de dire que c'est pour les combobox d'ajout clients
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

Non, non, pas toucher. C'est un groupe d'instruction soumis à une directive #If False Then faisant en sorte qu'il ne soit pas compilé. C'est juste un modèle faisant partie des explications, une sorte de commentaire mais avec les couleurs normales de VBA pour qu'on voie mieux.
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

RE
de toute facon je ne touche pas ce que je ne connais pas, je demande avant c'est pour cela que tu dit
Pas bien, ça ! À effacer et faire la manœuvre correcte.
encore faut trouvé la manoeuvre a exécuté quand on n'est pas familiarisé avec ce genre de codification
 

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

Certes. Ça avance à part ça ? Avancez, mais pas trop trop loin pour ne pas vous engager dans une voie où CL aurait encore pu vous apporter une simplification. Par exemple évitez d'utilisez une expression classique genre Feuil4.[B2:N2].Resize(Feuil4.[B60000].End(xlUp).Row - 1) car il y a plus court du coup partout dans votre Userform: CL.PlgTablo.Resize(, 14) et ça garantit de prendre exactement les lignes de la bonne feuille dans lesquelles CL a cherché les infos des ComboBox !
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

re
donc avec CL.PlgTablo.Resize(, 14) ca devrai aller mieux mais si je mets brut j'ai une erreur de syntaxe dans bingo ou bingoUn ou celui ci
Private Sub CL_Résultat(Lignes() As Long)
CL.PlgTablo.Resize(, 14)
End Sub

il doit manquer la plgtablo

pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

C'est une expression Range, pas une instruction. Celle ci marche :
VB:
MsgBox CL.PlgTablo.Resize(, 14).Address(External:=True)
Mais évidemment elle ne sert à rien. La procédure qui aurait des chances d'être payante à terme c'est celle ci :
VB:
Private Sub CL_BingoUn(ByVal Ligne As Long)
LCou = Ligne
VLgn = CL.PlgTablo.Rows(LCou).Resize(, 14).Value
GarnirChamps
End Sub
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

avec le msg ca fonctionne car le message dit ce que je joints

avec la 2ème partie rien ne bronche car
Private Sub GarnirChamps()

End Sub
est vide de ligne de code
 

Pièces jointes

  • msgapercu.jpg
    msgapercu.jpg
    44.9 KB · Affichages: 47

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

Ah ça va encore jusqu'à la ligne 164 ? Ah oui, il y a encore des vieilleries qui trainent dans la colonne 1 jusqu'à cette ligne.
Rappel #25:
Pour les TextBox écrivez une Private Sub GarnirChamps dans laquelle vous affecterez à leurs propriétés Text les éléments de VLgn.
Je ne vais quand même pas le faire à votre place ? Surtout qu'il n'y a aucune logique dans les noms de vos contrôles par rapport à ce qu'il faut y mettre ! S'ils étaient au moins de la forme TbxÀLAttDe, TbxAddress, etc. Ou encore TbxCol6, TbxCol7 etc., ce qui permettrait des boucles genre :
VB:
For C = 6 To 8: Me("TbxCol" & C).Text = VLgn(1, C): Next C
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

re
d'accord vous auriez du me dire de nommé les textbox et de toute façon tous les textbox ont leur propriété "text" qui affiche "VLgn"
si vous ne voulez plus continuer il n'y a pas de problème
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

re
Pour les TextBox écrivez une Private Sub GarnirChamps dans laquelle vous affecterez à leurs propriétés Text les éléments de VLgn.
voila vous dites de mettre toutes les propriétés text des textbox a VLgn depuis et je l'ai fait d'ailleurs voici un aperçu
 

Pièces jointes

  • VLgn.jpg
    VLgn.jpg
    43.8 KB · Affichages: 43

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

Je n'ai jamais dit ça, relisez ma phrase. Je ne parlais en tout cas pas de changer quoi que ce soit dans la fenêtre de propriété. Je parlais d'un code placé dans une procédure GarnirChamp qui affecterait, lors de l'exécution, à la propriété Text de chacun des contrôles l'élément du tableau VLgn qui lui était destiné.
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

re
donc si j'ai bien compris vos dires il faut que je mette une ligne dans Private Sub GarnirChamps() afin que les textbox se remplissent j'ai essayer ceci pour un textbox car je sais pas faire autrement
Code:
Private Sub GarnirChamps()
Dim i As Integer
With Sheets("client")
i = .Range("B65536").End(xlUp).Row
TBattention.Value = .Range("C" & i + 1).Value
End With
    
End Sub
et cela ne fonctionne pas et le contraire m'aurais étonné
 

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

Non. Couchez une série d'instructions d'affectations de la forme :
Me.Ctrl.Text = VLgn(1 , Col)
Avec pour chacune: Ctrl: le nom d'un contrôle de votre Userform et Col le numéro de colonne correspondant dans la base clients.
Exemple:
VB:
Me.TbAttention = VLgn(1, 6)
 

grisan29

XLDnaute Accro
Re : cbxliescpville de dranreb a intégré dans classeur clients??

re
maintenant grace a ton aide les textbox se remplisse bien
Code:
Private Sub GarnirChamps()
    Me.TBattention.Text = VLgn(1, 6)
    Me.TBadresse.Text = VLgn(1, 7)
    Me.TBcomplement.Text = VLgn(1, 8)
    Me.CBcp.Text = VLgn(1, 9)
    Me.CBville.Text = VLgn(1, 10)
    Me.TBtele.Text = VLgn(1, 11)
    Me.TBport.Text = VLgn(1, 12)
    Me.TBfax.Text = VLgn(1, 13)
    Me.TBmail.Text = VLgn(1, 14)
End Sub
je ne savais que
Code:
VLgn = CL.PlgTablo.Rows(LCou).Resize(, 14).Value
cette ligne correspondait a la feuille client
est ce qu'il aurai une possibilité de faire se succéder les clients l'un après l'autre au lieu de les chercher dans la combobox
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : cbxliescpville de dranreb a intégré dans classeur clients??

J'y avais fait une allusion au #33.
Peut être serait il judicieux d'écrire tout de suite une autre procédure qui fait l'inverse, c'est à dire qui affecte aux VLgn(1, Col) = Me.Ctrl.Text. Attention, veillez à convertir en nombres les numéros de téléphones à l'aide de la fonction CDbl si vous tenez à ce qu'ils soient enregistrés en tant que nombres.
Et le must serait aussi une Function ÇaAChangé As Boolean qui renverrait True si au moins un contrôle n'est plus comme dans VLgn.

Ah. Heu… Çà pourrait peut être se faire. Mais tout d'abord la façon la plus commode d'accéder à un client n'est pas de le choisir tout de suite dans les listes mais plutôt de taper les premières lettres…
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 850
dernier inscrit
Danigra