Garder les données dans la cellule et y rajouter des nouvelles [Résolu]

Signaler
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
-
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017
-
Bonjour,
Via un userform, je fais une completion de donnée

Dim f As Worksheet, plage As Range, ligne As Long

Private Sub ComboBox5_Click()

ligne = ComboBox5.ListIndex + plage.Row
Me.ComboBox1 = f.Cells(ligne, 7) 'zone
Me.Combobox2 = f.Cells(ligne, 8) 'equipement
Me.titre = f.Cells(ligne, 9) 'titre
Me.description = f.Cells(ligne, 10) 'description
Me.ComboBox4 = f.Cells(ligne, 3) 'statut
End Sub



Private Sub UserForm_Initialize()
Set f = Worksheets("gestionnaire_de_taches")
ligne = f.Range("B" & Rows.Count).End(xlUp).Row
Set plage = f.Range("b5:b" & ligne)
ComboBox5.RowSource = f.Name & "!" & plage.Address
End Sub

Private Sub enregistrer2_Click()
If ComboBox5.ListIndex = -1 Then
MsgBox "vous n'avez rien sélectionné !)"
Exit Sub
End If
Application.EnableEvents = False 'deprotege la feuille
If MsgBox("Voulez-vous modifier les informations du n° ID " & ComboBox5.List(ComboBox5.ListIndex) & " ?", _
vbQuestion + vbYesNo, "Modification") = vbYes Then
f.Range("G" & ligne) = ComboBox1.Text
f.Range("H" & ligne) = Combobox2.Text
f.Range("I" & ligne) = titre.Text
f.Range("J" & ligne) = description.Text
f.Range("F" & ligne) = commentaire.Text
f.Range("C" & ligne) = ComboBox4.Text
f.Range("F" & ligne) = VBA.Environ("username") & ":" & commentaire
f.Range("D" & ligne) = MonthView
f.Range("E" & ligne) = VBA.Environ("username")

Application.EnableEvents = True 'protege la feuille
Unload Me
End If
End Sub

Private Sub annuler_Click()
Unload Me
planificator.Hide
End Sub

mais voila mon probleme je souhaite dans la cellule "F & ligne" garder le commentaire existant du dernier utilisateur et que l'utilisateur suivant puisse rajouter (à la suite) les nouvelles données sans perdre les anciennes données.

merci de votre aide

16 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Pourquoi montrer tout ce code alors que ton problème n'est nullement concerné par ce que tu as cliqué dans la combobox ?
Il semble se résumer à l'inscription dans la cellule F & ligne du nom de l'utilisateur suivi de "":" et du contenu d'une textbox nommée commentaire.
Est-cela ?
et que veux-tu exactement ?
Exemple
si ligne = 8, qu'elle contient déjà toto : blablatoto
que souhaites-tu qu'elle contienne exactement après intervention nouvelle d'un utilisateur titi qui y rajouterai blablatiti ?
Essaye d'être très clair et de dire également ce que tu veux lorsque la cellule F8 est vide avant intervention de l'utilisateur titi.
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

Salut Ucfoutu
ce que je veux c'est que toto puisse mettre son commentaire, puis tata puisse mettre son commentaire puis titi puisse mettre son commentaire etc.... sans que les commentaires de toto, tata soit ecrasées par les commentaire de titi
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Tu n'as pas répondu avec précision !
Au départ : F8 est vide
toto saisit blablatoto ===>> F8 = "toto : blablatoto"
ensuite titi saisit blablatiti ===>>
Que doit alors TRES EXACTEMENT (écris-le) F8 ?
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

ok
F8="titi:blablatiti
(retour a la ligne)
toto : blablatoto"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
C'est tout ? Et c'est vraiment là un VRAI problème ? ===>>>
Range("A8").value =  VBA.Environ("username") & ":" & commentaire.text & chr(10) & Range("A8").value

Non ??????!!!!

Maintenant : reste à espérer que tu n'as pas beaucoup d'intervenants ajoutant un commentaire ... Car ta cellule risque fort d'être alors "débordée" ...
Et tu comptes lui donner quelle dimension de hauteur, à cette cellule ?
Il est à craindre, ami, que tu ne confondes la vocation d'un tableur (ce qu'est Excel) avec autre "chose" (qui va finir par te coûter très cher en mémoire et occupation du disque dur ) ....
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

non ca ne fonctionne pas
dans mon code
f.Range("F" & ligne) = VBA.Environ("username") & ":" & commentaire.Text & Chr(10) & Range("F" & ligne).Value

J'obtiens
"blablatoto
toto:blablatoto"
et le blabla de titi et tata a disparu
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

Il est à craiçndre, ami, que tu ne confondes un tableeur (ce qu'est Excel) avec autre "chose" ....

tu preches un converti mais voila , il y a des besoins client, des demandes boss et je suis au millieu :) je m'adapte
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
Bonjour,

dans ton code tu affectes deux fois t.RangeF & ligne)

f.Range("F" & ligne) = commentaire.Text
      f.Range("C" & ligne) = ComboBox4.Text
      f.Range("F" & ligne) = VBA.Environ("username") & ":" & commentaire.Text & Chr(10) & Range("F" & ligne).Value


ce qui fait que le commentaire a déjà été mal remplacé.

bonne journée
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

Salut cgandco
oui je sais mais c'etait pour monter Ucfoutu qu'en transposant sa proposition dans mon code ca ne fonctionnait pas.
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

Quelqu un a une autre proposition?
l'idée c est de reprendre les commentaires existants et de les "additionner" a ceux generer par le useform..
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Rhoooo ...
L'erreur dont te parle cgandco est ANTERIEURE à mon message .... que je t'invite à relire !
tu as à utiliser le code que je t'ai dit. Et à SUPPRIMER ce qu'a dénoncé fort justement cgandco.
Bref ...
ok j avais pas compris désolé...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bien...
Tu as su ouvrir cette discussion.
Il te reste à savoir la libérer (un clic sur le tag RESOLU) au niveau de ton premier message est la règle. Merci d'y penser.
mais le probleme n'est pas resolu??...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Ah bon ?
Montre alors ton code, tel que corrigé !
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

f.Range("F" & ligne) = commentaire.Text  & Chr(10) & VBA.Environ("username") & ":" & Range("F" & ligne).Value

et cela ne fonctionne pas
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Ahy ?
Et qu'as-tu fait de ta ligne disant :
f.Range("F" & ligne) = commentaire.Text

si elle est toujours là, en dépit de ce que l'on t'en a dit, ma foi ...., c'est que tu ne comprends absolument rien de ce que tu écris !!!!

EDIT : et d'ailleurs que tu ne comprends pas non plus ce qui t'est dit !

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Messages postés
59
Date d'inscription
vendredi 5 octobre 2012
Statut
Membre
Dernière intervention
6 mars 2017

je suis sincerement confu...j ai honte de mon poste...
1000 pardons