besoin d'aide s.v.p

Magzonex

XLDnaute Junior
Allo

je suis entrain de monter mon nouveau projet

et j'ai bien sure quelque problème

alors je vais commencer par une chose, l'orsque on clique sur Nouvelle facture dans mon userform la dernière colonne aparait des chifres ??? normalement ça devrais être un numéro de téléphone qui est dans ma feuil2 client

je vous met mon projet, le voir ses tout comprendre

merci
 

Pièces jointes

  • projet Facture magzonex v1.xlsm
    85.8 KB · Affichages: 63

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : besoin d'aide s.v.p

Bonjour Magzonex

remplace ton code par ceci:
Code:
Private Sub UserForm_Initialize()
    Dim aa As Variant, i&
    If bt = True Then CommandButton1.Visible = False
    aa = Feuil2.Range("A2:H2" & Feuil2.Range("A65536").End(xlUp).Row)
    For i = 1 To UBound(aa)
        aa(i, 8) = Feuil2.Cells(i + 1, 8).Value
    Next i
    ListBox1.List = aa
End Sub

à+
Philippe
 

Magzonex

XLDnaute Junior
Re : besoin d'aide s.v.p

Allo

et de 1 de régler, voici mon autre problème, toujour lorsque l'on clic sur nouvelle facture on choisi un client puis on valide

dans la facture seulement la colonne C14;C17 est remplie, manque les information dans la colonne G14:G17

voici l'erreur que ça me donne

Private Sub CommandButton1_Click()
Dim i&
If ListBox1.ListIndex = -1 Then Exit Sub
With Feuil1
For i = 14 To 17
.Cells(i, 3) = ListBox1.List(ListBox1.ListIndex, i - 14)
Next i
For i = 14 To 17
.Cells(i, 7) = ListBox1.List(ListBox1.ListIndex, i + 7))
Next i
End With
Unload Clients
End Sub

merci de m'aider

Pat
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : besoin d'aide s.v.p

Re,

voici le code qui fonctionne
Code:
Private Sub CommandButton1_Click()
    Dim i&
    If ListBox1.ListIndex = -1 Then Exit Sub
    With Feuil1
        For i = 14 To 17
            .Cells(i, 3) = ListBox1.List(ListBox1.ListIndex, i - 14)
        Next i
        For i = 14 To 17
            .Cells(i, 7) = ListBox1.List(ListBox1.ListIndex, i - 10)
        Next i
    End With
    Unload Clients
End Sub

à+
Philippe
 

Magzonex

XLDnaute Junior
Re : besoin d'aide s.v.p

Allo merci encore un autre de régler

peux tu m'expliquer comment ça fonctionne...
For i = 14 to 17 est les lignes
Cells(i, 3) est la colonne
ListIndex, i - 14 ... le ( - 14 ) représente quois ???

Private Sub CommandButton1_Click()
Dim i&
If ListBox1.ListIndex = -1 Then Exit Sub
With Feuil1
For i = 14 To 17
.Cells(i, 3) = ListBox1.List(ListBox1.ListIndex, i - 14)
Next i
For i = 14 To 17
.Cells(i, 7) = ListBox1.List(ListBox1.ListIndex, i - 10)
Next i
End With
Unload Clients
End Sub

Et merci encore ... si tu peux bien m'expliquer comment tu fais, je vais pouvoir corriger beaucoup d'erreur

Merci

Pat
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : besoin d'aide s.v.p

Re,
Cells(i, 3) est la colonne
non, c'est la cellule qui se trouve à la ligne I (14 à 17 dans ton exemple) et dans la colonne3


j'ai adapté parce que tu as une boucle For I =14 To 17
et je n'ai pas compris pourquoi ce B....... :mad::mad::mad:, tout pouvait être fait avec une seule boucle For... Next

si tu avais fais une boucle For I = 0 To 3 et pour la suivante de 4 à 7 il n'y aurait pas eu besoin de soustraire 14 ou 10 mais il aurait fallu ajouter Cells(I + ??, 3)

la première donnée de la listbox ( à gauche) commence à zéro


à+
Philippe
 
Dernière édition:

Magzonex

XLDnaute Junior
Re : besoin d'aide s.v.p

Allo

alors tu me dis de faire....

Private Sub CommandButton1_Click()
Dim i&
If ListBox1.ListIndex = -1 Then Exit Sub
With Feuil1
For i = 0 To 3
.Cells(i, 3) = ListBox1.List(ListBox1.ListIndex, i 2)
Next i
For i = 4 To 7
.Cells(i, 7) = ListBox1.List(ListBox1.ListIndex, i 4)
Next i
End With
Unload Clients
End Sub

j'ai tu bien compris .... !!! pas sure du tout !!!

merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : besoin d'aide s.v.p

Re,

non comme ceci:
Code:
Private Sub CommandButton1_Click()
    Dim i&
    If ListBox1.ListIndex = -1 Then Exit Sub
    With Feuil1
        For i = 14 To 17
            .Cells(i, 3) = ListBox1.List(ListBox1.ListIndex, i - 14)
            .Cells(i, 7) = ListBox1.List(ListBox1.ListIndex, i - 10)
        Next i
    End With
    Unload Clients
End Sub
ou comme ceci:
Code:
Private Sub CommandButton1_Click()
    Dim i&
    If ListBox1.ListIndex = -1 Then Exit Sub
    With Feuil1
        For i = 0 To 3
            .Cells(i+14, 3) = ListBox1.List(ListBox1.ListIndex, i)
            .Cells(i+14, 7) = ListBox1.List(ListBox1.ListIndex, i + 4)
        Next i
    End With
    Unload Clients
End Sub
à+
Philippe
 

Magzonex

XLDnaute Junior
Re : besoin d'aide s.v.p

a la ses plus claire... juste une dernière chose ...

dans
For i = 0 To 3
.Cells(i+14, 3) = ListBox1.List(ListBox1.ListIndex, i)
.Cells(i+14, 7) = ListBox1.List(ListBox1.ListIndex, i + 4)
le + 4 est pour le résultat de 0 to 3 ... 0,1,2,3 = 4 sesa bien ça

merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : besoin d'aide s.v.p

Re,

For i = 0 To 3
au premier passage dans la boucle, la valeur I est égale à zéro
.Cells(i+14, 3) = ListBox1.List(ListBox1.ListIndex, i)
la cellule de la ligne I+14, 3èmè colonne recevra la donnée contenue dans la "colonne I" de la listbox
c'est en réalité la première vers la gauche
.Cells(i+14, 7) = ListBox1.List(ListBox1.ListIndex, i + 4)
la cellule de la ligne I+14, 7èmè colonne recevra la donnée contenue dans la "colonne i+4" de la listbox
I+4 est alors égal à 4 ce qui renvoie la 5ème donnée de la ligne sélectionnée dans la listbox
Next I

en espérant avoir répondu à tes questions

à+
Philippe
 

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise