Créer un historique

  • Initiateur de la discussion Initiateur de la discussion cortana
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cortana

Guest
Bonjour,
J'ai crée un user form avec des combobobox. lorsque je choisis dans la combobox la valeur va se stocker dans une cellule. le problème est que quand je relance l'userform, les nouvelles valeurs remplacent les précedentes. Ce que je voudrait, c'est que a chaque utilisation du userform, les valeurs aillent se mettre dans les lignes suivantes afin de créer un historique.
Merci de votre aide (débutant total)
 
Bonjour,

Je supose que pour ecrire tes donnés tu as utilisé

Sheets('le nom de ta feuille').Range('A' & MaLigne) = textbox1

dans ton cas il faut utiliser une variable (moi je l'ai nommé Maligne)

donc tu la declare (Dim....)

ensuite dans l'initializ tu mets

MaLigne = Sheets('le nom de ta feuille').Range('A65536').End(xlUp).Row + 1

(j'ai pris la colonne A)

+ 1 est là pour que tu tape dans la ligne qui suit le dernier enregistrement.

Voilà.

Bonne chance
Thomas®
 
En fait, je n'ai pas de macro, j'ai justecrée un userform comme dans le lien que j'ai mis. dans mon userform, il y a quatre listedéroulante. la valeur choisis va dans une cellule. mais quand j'ouvre de nouveau le userform et que je choisis de nouvelles valeur dans mes listes, celles ci eface les précédentes. comment faire pour decaler d'une ligne à chaque ouverture du userform.
merci
je peut vous l'envoyer par mail
 
je ne vois pas de code pour le userform. je trouve seulement le code des boutons!!
sinon j'ai çà


Code:
ub Macro2()
''
Dim valeur As Variant
Dim stock As Integer
Dim entree As Integer
Dim mois As Object



Load Userform2
Userform2.Show

Sheets('Quel fusible pour quel appareil').Select
stock = Range('f135').Value
valeur = InputBox('Combien de fusible(s) avez-vous remplacé ?')
Range('f21').Value = valeur
entree = Range('f21').Value
If entree > stock Then
Do
msgbox ('Il ne reste plus assez de fusibles de ce type !')
valeur = 0
entree = 0
valeur = InputBox('Combien de fusible(s) avez-vous remplacé ?')
Range('f21').Value = valeur
entree = Range('f21').Value
Loop Until entree <= stock
Range('f20').Value = valeur
Else: Range('f20').Value = valeur
End If
Sheets('Feuil1').Select

    If Range('m5').Value >= 0 Then
    Range('k5').Value = Range('k5').Value - Range('m5').Value
    
    End If
     If Range('m6').Value >= 0 Then
    Range('k6').Value = Range('k6').Value - Range('m6').Value
    
    End If
     If Range('m7').Value >= 0 Then
    Range('k7').Value = Range('k7').Value - Range('m7').Value
    
    End If
     If Range('m8').Value >= 0 Then
    Range('k8').Value = Range('k8').Value - Range('m8').Value
    
    End If
     If Range('m9').Value >= 0 Then
    Range('k9').Value = Range('k9').Value - Range('m9').Value
    
    End If
     If Range('m10').Value >= 0 Then
    Range('k10').Value = Range('k10').Value - Range('m10').Value
    
    End If
     If Range('m11').Value >= 0 Then
    Range('k11').Value = Range('k11').Value - Range('m11').Value
    
    End If
     If Range('m12').Value >= 0 Then
    Range('k12').Value = Range('k12').Value - Range('m12').Value
    
    End If
         If Range('m13').Value >= 0 Then
    Range('k13').Value = Range('k13').Value - Range('m13').Value
    
    End If
         If Range('m14').Value >= 0 Then
    Range('k14').Value = Range('k14').Value - Range('m14').Value
    
    End If
         If Range('m14').Value >= 0 Then
    Range('k14').Value = Range('k14').Value - Range('m14').Value
    
    End If
         If Range('m15').Value >= 0 Then
    Range('k15').Value = Range('k15').Value - Range('m15').Value
    
    End If
         If Range('m16').Value >= 0 Then
     Range('k16').Value = Range('k16').Value - Range('m16').Value
    
    End If
         If Range('m17').Value >= 0 Then
    Range('k17').Value = Range('k17').Value - Range('m17').Value
    
    End If
         If Range('m18').Value >= 0 Then
    Range('k18').Value = Range('k18').Value - Range('m18').Value
    
    End If
         If Range('m19').Value >= 0 Then
    Range('k19').Value = Range('k19').Value - Range('m19').Value
    
    End If
         If Range('m20').Value >= 0 Then
    Range('k20').Value = Range('k20').Value - Range('m20').Value
    
    End If
         If Range('m21').Value >= 0 Then
    Range('k21').Value = Range('k21').Value - Range('m21').Value
    
    End If
         If Range('m22').Value >= 0 Then
    Range('k22').Value = Range('k22').Value - Range('m22').Value
    
    End If
         If Range('m23').Value >= 0 Then
    Range('k23').Value = Range('k23').Value - Range('m23').Value
    
    End If
    
    If Range('m24').Value >= 0 Then
    Range('k24').Value = Range('k24').Value - Range('m24').Value
    
    End If
    
    If Range('m25').Value >= 0 Then
    Range('k25').Value = Range('k25').Value - Range('m25').Value
    
    End If
    If Range('m26').Value >= 0 Then
    Range('k26').Value = Range('k26').Value - Range('m26').Value
    
    End If
    If Range('m27').Value >= 0 Then
    Range('k27').Value = Range('k27').Value - Range('m27').Value
    
    End If
   Sheets('Quel fusible pour quel appareil').Select
   Range('f20').Value = '0'
   Range('f21').Value = '0'
 
 If Range('f135').Value = 1 Then
    msgbox ('Il ne reste plus qu'un seul fusible de ce type !')
  End If
    
    
    If Range('f135').Value > 1 And Range('f135').Value <= 5 Then
    msgbox ('Il ne reste plus que ' & Range('f135').Value & ' fusibles de ce type')
    End If
 
    If Range('f135').Value = 0 Then
    msgbox ('Il n'y a plus de fusible de ce type !')
     msgbox ('Pensez à réapprovisionner rapidement !')
    End If

  End Sub
 

Pièces jointes

merci, j'ai réussis, grâce à çà.

Code:
Dim A As Integer
'If ComboBox2.Value = '' Then Exit Sub

A = Range('l65536').End(xlUp).Row + 1 'premiere cellule vide dans la colonne A

'insertion du combobox dans dans la premiere cellule vide de la colonne A
Cells(A, 12) = ComboBox2.Value

J'aimerais maintenant savoir comment rendre impossible la validation tant que une valeur de chaque liste n'ai été choisi. Deplus, j'aimerais que tant que la validation n'a pas été faite, tous les choix qui ont pu être effectue dans la liste, ne soit recensé dans une ligne (autrement, cela décale tout) et les doneés sont faussé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 webbrowser
Réponses
20
Affichages
1 K
Réponses
2
Affichages
676
Réponses
5
Affichages
862
C
Réponses
2
Affichages
830
channoyer
C
N
Réponses
4
Affichages
1 K
N
Retour