Code VBA excel pour garder un commentaire existant

Résolu
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017 - 29 oct. 2014 à 12:58
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017 - 31 oct. 2014 à 15:09
Bonjour,
J'ai crée un useform, ou l'utilisateur peut laisser un commentaire et d'autres données (suite a une validation par bouton et en selectionnant la ligne a modifier)
Private Sub enregistrer_Click()
If ligne.Value = "" Then
Exit Sub
Else
If ligne.Value = "" Then
MsgBox ("Tu n'as pas donné le numero de ligne")
Exit Sub
End If
If ComboBox1.Value = "" Then
MsgBox ("Tu n'as pas renseigné le statut de la tache")
Exit Sub
End If
If commentaire.Value = "" Then
Exit Sub
End If


CellB = "E" & ligne.Value
CellC = "C" & ligne.Value
CellD = "F" & ligne.Value
CellE = "D" & ligne.Value
End If


Worksheets("gestionnaire de taches").Range(CellB) = Environ("username")
Worksheets("gestionnaire de taches").Range(CellC) = ComboBox1
Worksheets("gestionnaire de taches").Range(CellD) = commentaire
Worksheets("gestionnaire de taches").Range(CellE) = MonthView
Unload Me

End Sub

Dans ma macro je n avais pas reflechis que si un autre utilisateur rentrait d'autre données ca ecrasé les anciennes (la loose).
du coup je voulias rajouté un bout de macro du style
If Not IsEmpty(Range("A1")) Then
Range("A2") = Range("A2") & Chr(10) & Environ("username") & ":" & Range("A1")
Else
Range("A2") = ""
End If

Afin de conserver les commentaire des differents utlisateur, mais ca ne marche pas...
Pouvez m expliquer ou se trouve mon probleme svp

5 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
29 oct. 2014 à 14:08
Bonjour,
si un autre utilisateur rentrait d'autre données

Ton classeur peut être utilisé par plusieurs utilisateurs en même temps ?
Si tel est le cas.... est il "partagé" ?
Si oui... avant de faire une modif dedans, il te faut faire un Sav pour voir les nouveaux ajouts.

0
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017
30 oct. 2014 à 07:55
Salut Jordan

Oui tout a fait dans mon code je rajouterais un save, mais il faut srutou que j arrive a avoir tous les commentaires dans la meme cellule....
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
30 oct. 2014 à 08:06
Ca ne répond pas à la question : ton classeur est il partagé ?

Et.. plusieurs utilisateurs peuvent ils utiliser ton classeur en même temps ??
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
30 oct. 2014 à 09:06
Bonjour,

Voici un exemple pour ajouter un commentaire à un autre commentaire.
A adapter:

Sub AjouterConCellule()
  Dim Annu, Rep As String
  Rep = InputBox("Entrez le texte à ajouter à ajouter au commentaire de la Cellule A1")
      If StrPtr(Rep) = 0 Then
         MsgBox "Vous avez appuyé sur le bouton Annuler"
      Else
         With Range("A1")
            .Comment.Text Text:=[A1].Comment.Text & Chr(10) & Rep
         End With
      End If
End Sub





0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
30 oct. 2014 à 09:33
Je ne pense pas qu'il parle de commentaire au sens excel ..mais en terme de remarque ecrite par ses utilisateurs (du text dans une cellule. ..).
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
30 oct. 2014 à 10:08
Salut Jordane,

On peut faire la même chose avec un ajout de texte dans une cellule:

Sub Ajoutertexte()
  Dim Annu, Rep As String
  Rep = InputBox("Entrez le texte a ajouter à la Cellule B1")
      If StrPtr(Rep) = 0 Then
         MsgBox "Vous avez appuyé sur le bouton Annuler"
      Else
       Range("B1") = [B1].Text & Chr(10) & Rep
End If
End Sub


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017
31 oct. 2014 à 15:09
merci merci, apres mon xième test j'ai trouvé une autre soluce

Private Sub enregistrer_Click()
If ligne.Value = "" Then
Exit Sub
Else
If ligne.Value = "" Then
MsgBox ("Tu n'as pas donné le numero de ligne")
Exit Sub
End If
If ComboBox1.Value = "" Then
MsgBox ("Tu n'as pas renseigné le statut de la tache")
Exit Sub
End If
If commentaire.Value = "" Then
Exit Sub
End If


CellB = "E" & ligne.Value
CellC = "C" & ligne.Value
CellD = "F" & ligne.Value
CellE = "D" & ligne.Value
End If


Worksheets("gestionnaire de taches").Range(CellB) = Environ("username")
Worksheets("gestionnaire de taches").Range(CellC) = ComboBox1
Worksheets("gestionnaire de taches").Range(CellD) = Range(CellD) & Chr(10) & Environ("username") & ":" & commentaire Worksheets("gestionnaire de taches").Range(CellE) = MonthView
Unload Me

End Sub
0
Rejoignez-nous