peux-t-on enregistrer des données sous forme de colonne?

deeppurple

XLDnaute Nouveau
bonjour le forum,

j'ai besoin de votre aide car je suis bloquée

j'ai un userform avec28 fois
textbox,combobox,textbox
Dans mes combobox (en liste de choix, j'ai 28 dénominations différentes(écran, uc,claviers, etc...)
mon premier enregistrement se fait sur ma feuille "entrée"
je voudrais faire un deuxième enregistrement sur ma feuille "entrée1"

J'ai mis toutes les explications sur ce que je veux sur la feuille "entree1"

et voici le code que j'ai pour l'instant

Code:
Private Sub enregistrerbonentree_Click()
 Sheets("ENTREE").Activate
 Sheets("ENTREE1").Activate
Dim Xls, Xls1 As Worksheet, lLig, lLig1 As Long
    Set Xls = ThisWorkbook.Worksheets("ENTREE")
    Set Xls1 = ThisWorkbook.Worksheets("ENTREE1")
    'Recherche la ligne disponible
    lLig = 7
    lLig1 = 2
   
   While Xls.Cells(lLig, 1) <> "" And Xls1.Cells(lLig1, 1) <> ""
        lLig = lLig + 1
        lLig1 = lLig1 + 1
    Wend
    ' insere les donnees de la commande des cinq premieres colonnes
    Xls1.Cells(lLig1, 1) = datos.Value
     Xls1.Cells(lLig1, 2) = bldefab.Value
     Xls1.Cells(lLig1, 4) = pdstotal.Value
   Xls1.Cells(lLig1, 3) = TextBox266.Value
   Xls.Cells(lLig, 1) = datos.Value
   Xls1.Cells(lLig1, 5) = ComboBox12.Value
   Xls1.Cells(lLig1, 6) = TextBox868.Value
   Xls1.Cells(lLig1, 7) = TextBox854.Value
   Xls1.Cells(lLig1, 5) = ComboBox14.Value
   Xls1.Cells(lLig1, 6) = TextBox867.Value
   Xls1.Cells(lLig1, 7) = TextBox853.Value
   Xls.Cells(lLig, 2) = bsd.Value
    Xls.Cells(lLig, 3) = bldefab.Value
 

Pièces jointes

  • Classeur1.zip
    17.9 KB · Affichages: 39
  • Classeur1.zip
    17.9 KB · Affichages: 40
  • Classeur1.zip
    17.9 KB · Affichages: 34

Paritec

XLDnaute Barbatruc
Re : peux-t-on enregistrer des données sous forme de colonne?

bonjour Deeppurple, le forum,
la réponse et oui, mais tu dis avoir donné des explications, moi j'ai vu une ligne en bleu et tu veux qu'elle aille ou dans ton autre feuille entré ????
a te lire
de plus tes textbox combo etc moi j'ai rien vu mais bon!!
a+
papou
 

deeppurple

XLDnaute Nouveau
Re : peux-t-on enregistrer des données sous forme de colonne?

bonjour paritec,

je te mets mon userform en pièce jointe que j'ai extrait de mon fichier initial que je ne peux joindre car il fait 6Mo

ce que j'ai mis sur la feuille entree1 en bleu c'est ce que je veux et que ca enregistre ca sur ma feuille "entree1"
 

Pièces jointes

  • Classeur1 (2).zip
    34.2 KB · Affichages: 35
  • Classeur1 (2).zip
    34.2 KB · Affichages: 42
  • Classeur1 (2).zip
    34.2 KB · Affichages: 39

deeppurple

XLDnaute Nouveau
Re : peux-t-on enregistrer des données sous forme de colonne?

Code:
Private Sub enregistrerbonentree_Click()
 Sheets("ENTREE").Activate
 Sheets("ENTREE1").Activate
Dim Xls, Xls1 As Worksheet, lLig, lLig1 As Long
    Set Xls = ThisWorkbook.Worksheets("ENTREE")
    Set Xls1 = ThisWorkbook.Worksheets("ENTREE1")
    'Recherche la ligne disponible
    lLig = 7
    lLig1 = 2
   
   While Xls.Cells(lLig, 1) <> "" And Xls1.Cells(lLig1, 1) <> ""
        lLig = lLig + 1
        lLig1 = lLig1 + 1
   Wend
[COLOR="red"]Xls1.Cells(lLig1, 1) = jour.Value
     Xls1.Cells(lLig1, 2) = bldefab.Value
     Xls1.Cells(lLig1, 4) = pdstotal.Value
   Xls1.Cells(lLig1, 3) = TextBox266.Value[/COLOR]
   Xls.Cells(lLig, 1) = jour.Value
   [COLOR="red"]Xls1.Cells(lLig1, 5) = ComboBox12.Value
   Xls1.Cells(lLig1, 6) = TextBox868.Value
   Xls1.Cells(lLig1, 7) = TextBox854.Value
   Xls1.Cells(lLig1, 5) = ComboBox14.Value
   Xls1.Cells(lLig1, 6) = TextBox867.Value
   Xls1.Cells(lLig1, 7) = TextBox853.Value[/COLOR]   Xls.Cells(lLig, 2) = bsd.Value
    Xls.Cells(lLig, 3) = bldefab.Value
     Xls.Cells(lLig, 4) = bltransp.Value
    ' Aiguillage selon la nature
  LaListe = Array("Cartes", "Cartes de paiement", "cartes riches", "claviers", _
"composants electro", "compteurs", "contacteurs/disjonct", "copieur", _
"deee", "disques durs", "écrans crt", "écrans tft", "electro portatif", _
"encre & toner", "imprimante", "manettes de jeux", "non valorisable", _
"onduleur", "papier", "papier sensible", "pc portable", "pe-ld", _
"piles alcalines", "serveur", "traceur", "tubes d'écrans", "tubes fluo", "uc")


pos = Application.Match(ComboBox12, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox868.Value
Xls.Cells(lLig, colonne2) = TextBox854.Value
pos = Application.Match(ComboBox14, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox867.Value
Xls.Cells(lLig, colonne2) = TextBox853.Value
pos = Application.Match(ComboBox15, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox866.Value
Xls.Cells(lLig, colonne2) = TextBox849.Value
pos = Application.Match(ComboBox13, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox865.Value
Xls.Cells(lLig, colonne2) = TextBox824.Value
pos = Application.Match(ComboBox38, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox864.Value
Xls.Cells(lLig, colonne2) = TextBox823.Value
pos = Application.Match(ComboBox37, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox863.Value
Xls.Cells(lLig, colonne2) = TextBox822.Value
pos = Application.Match(ComboBox36, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox862.Value
Xls.Cells(lLig, colonne2) = TextBox821.Value
pos = Application.Match(ComboBox35, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox861.Value
Xls.Cells(lLig, colonne2) = TextBox820.Value
pos = Application.Match(ComboBox34, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox860.Value
Xls.Cells(lLig, colonne2) = TextBox819.Value
pos = Application.Match(ComboBox33, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox859.Value
Xls.Cells(lLig, colonne2) = TextBox818.Value
pos = Application.Match(ComboBox32, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox858.Value
Xls.Cells(lLig, colonne2) = TextBox817.Value
pos = Application.Match(ComboBox31, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox857.Value
Xls.Cells(lLig, colonne2) = TextBox816.Value
pos = Application.Match(ComboBox30, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox856.Value
Xls.Cells(lLig, colonne2) = TextBox815.Value
pos = Application.Match(ComboBox29, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox855.Value
Xls.Cells(lLig, colonne2) = TextBox814.Value
pos = Application.Match(ComboBox23, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox852.Value
Xls.Cells(lLig, colonne2) = TextBox813.Value
pos = Application.Match(ComboBox25, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox851.Value
Xls.Cells(lLig, colonne2) = TextBox848.Value
pos = Application.Match(ComboBox28, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox850.Value
Xls.Cells(lLig, colonne2) = TextBox847.Value
pos = Application.Match(ComboBox17, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox835.Value
Xls.Cells(lLig, colonne2) = TextBox846.Value
pos = Application.Match(ComboBox16, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox834.Value
Xls.Cells(lLig, colonne2) = TextBox845.Value
pos = Application.Match(ComboBox18, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox833.Value
Xls.Cells(lLig, colonne2) = TextBox844.Value
pos = Application.Match(ComboBox19, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox832.Value
Xls.Cells(lLig, colonne2) = TextBox843.Value
pos = Application.Match(ComboBox39, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox831.Value
Xls.Cells(lLig, colonne2) = TextBox842.Value
pos = Application.Match(ComboBox22, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox830.Value
Xls.Cells(lLig, colonne2) = TextBox841.Value
pos = Application.Match(ComboBox21, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox829.Value
Xls.Cells(lLig, colonne2) = TextBox840.Value
pos = Application.Match(ComboBox26, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox828.Value
Xls.Cells(lLig, colonne2) = TextBox839.Value
pos = Application.Match(ComboBox20, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox827.Value
Xls.Cells(lLig, colonne2) = TextBox838.Value
pos = Application.Match(ComboBox24, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox826.Value
Xls.Cells(lLig, colonne2) = TextBox837.Value
pos = Application.Match(ComboBox27, LaListe, 0)
colonne1 = (pos * 2) + 37 + pos - 1
colonne2 = (pos * 2) + 37 + pos
Xls.Cells(lLig, colonne1) = TextBox825.Value
Xls.Cells(lLig, colonne2) = TextBox836.Value
end sub

Je mets ce post dans celui-ci car en fait tous mes fichiers sont liés.

J'ai ce code qui marche impeccable pour enregistrer mon bon.
Par contre je suis obligée de remplir tous mes combobox pour que mes données s'inscrivent dans ma feuille excel
Que faut-il que je rajoute pour que par exemple si je ne veux renseigner que 1, 2 ou 3 combobox ca s'enregistre dans mon tableau.

Et j'ai toujours besoin de votre aide pour l'enregistrement dans ma feuille "entrée1" en rouge dans mon code

c'est à dire si je rentre dans mon userform :
15/01/09 15487(bldefab) 10 écrans(combobox12) 154
20 claviers(combobox14)260

que dans mon tableau excel, feuille entrée1, ça soit inscrit

15/01/09 15487 écrans 10 154
15/01/09 154487 claviers 20 260

MERCI POUR VOTRE AIDE qui me serait bien utile pour avancer sur mon fichier car je bloque
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : peux-t-on enregistrer des données sous forme de colonne?

Bonjour Deep le forum,
dans ta feuille "entrée1" tu veux enregistrer les lignes en rouge OK ça j'ai compris mais ou?
tu connais ton fichier mais moi j'ai regardé tu veux cela quelle colonne? et de quelle ligne à quelle ligne? Pour toi cela doit être évident tu connais ton fichier, mais moi je ne le sais pas
a te lire
a+
Papou
 

deeppurple

XLDnaute Nouveau
Re : peux-t-on enregistrer des données sous forme de colonne?

bonjour paritec,

tout ce qui est en rouge dans mon code, en fait devrait s'enregistrer dans ma feuille "entrée1"

si tu regardes mon fichier en haut en zip, tu as mon userform
les phrases en rouge correspondent par rapport à mon userform à :

nbre designation pds
Textbox868 combobox12 textbox854
textbox 867 combobox14 textbox853

Code:
Xls1.Cells(lLig1, 1) = jour.Value
     Xls1.Cells(lLig1, 2) = bldefab.Value
     Xls1.Cells(lLig1, 4) = pdstotal.Value
   Xls1.Cells(lLig1, 3) = TextBox266.Value
, ça cela correspond au données que j'ai pour tout le bon

Code:
Xls1.Cells(lLig1, 5) = ComboBox12.Value
   Xls1.Cells(lLig1, 6) = TextBox868.Value
   Xls1.Cells(lLig1, 7) = TextBox854.Value
   Xls1.Cells(lLig1, 5) = ComboBox14.Value
   Xls1.Cells(lLig1, 6) = TextBox867.Value
   Xls1.Cells(lLig1, 7) = TextBox853.Value

dans ma feuille entrée1, cb12,tb868,tb854 s'enregistre bien dans ma feuille entrée1 avec jour,bldebab,pdstotal,tb266

je voudrais que si je clique sur combobx14 et que je valide une désignation, vu que c'est le meme bon, ma combobox14, s'enregistre avec le meme numero de bldefab,le meme jour, le meme pds total, la meme tb266

En fait sur ce fichier, j'ai un double enregistrement
Code:
Private Sub enregistrerbonentree_Click()
 Sheets("ENTREE").Activate
 Sheets("ENTREE1").Activate
Dim Xls, Xls1 As Worksheet, lLig, lLig1 As Long
    Set Xls = ThisWorkbook.Worksheets("ENTREE")
    Set Xls1 = ThisWorkbook.Worksheets("ENTREE1")
    'Recherche la ligne disponible
    lLig = 7
    lLig1 = 2
   
   While Xls.Cells(lLig, 1) <> "" And Xls1.Cells(lLig1, 1) <> ""
        lLig = lLig + 1
        lLig1 = lLig1 + 1
   Wend

mes données s'enregistrent sur ma feuille "entrée" (xls)
et sur ma feuille "entrée1"(xls1), cette feuille correspond à un récapitulatif de mes entrées(sauf que mes données au lieu de s'enregistrer en colonne, s'enregistrent en lignes)

colA colB ColC colD ColE ColF ColG
lig1 date N°bl totalNbr totalpds combo12 textb868 textb854
lig2 date N°bl totalNbr totalpds combo14 textb867 textb853

etc...

ma ligne en bleu ne s'enregistre pas dans ma feuille "entrée1"
 

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz