Ajouter un commentaire avec texte saisi dans une textbox

Signaler
Messages postés
2
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
12 mars 2010
-
Messages postés
2
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
12 mars 2010
-
Bonjour,

je cherche à attribuer un commentaire à une cellule excel.
Le texte de ce commentaire est récupéré dans une textbox au sein d'une userform. Et pour compliquer le tout, ayant 69 textbox je souhaite que l' ajout des 69 commentaires dans les 69 cellules se fasse dans une boucle.
j'ai la procédure suivante qui bloque et ne trouve pas la solution. Quelqu'un pour m'aider ?

i = 1
Do While i < 70
With Worksheets(strWSName)
txtcomment = UserForm4.Controls("TextBox" & i).Text
j = 133 + i
c = i + 2
.Cells(c, colonne).Value = UserForm4.Controls("ComboBox" & j).Value
.Cells(c, colonne).Select
"message erreur à la ligne suivante : Run Time error 1004"
.Cells(c, colonne).AddComment
.Cells(c, colonne).Comment.Visible = False
.Cells(c, colonne).Comment Text:="" & txtcomment
Select Case UserForm4.Controls("ComboBox" & i).Text
Case "Avaria"
.Cells(c, colonne).Interior.ColorIndex = cor1
Case ("Manutenção Preventiva")
.Cells(c, colonne).Interior.ColorIndex = cor2
Case ("Preventiva Semestral")
.Cells(c, colonne).Interior.ColorIndex = cor3
Case ("Funcionando com restrições")
.Cells(c, colonne).Interior.ColorIndex = cor4
Case ("Funcionando subutilizada")
.Cells(c, colonne).Interior.ColorIndex = cor5
Case ("Funcionando Integralmente")
.Cells(c, colonne).Interior.ColorIndex = cor6
Case ("")
.Cells(c, colonne).Interior.ColorIndex = cor6
End Select
i = i + 1
End With


Loop

Merci pour votre aide

2 réponses

Messages postés
219
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
20 décembre 2010

Salut
je pense qu'il doit y avoir déjà un commentaire dans la cellule. Faut donc effacer celui-ci
.Cells(c, colonne).Comment.Delete
.Cells(c, colonne).AddComment Text:="" & txtcomment

ou plus simplement
.Cells(c, colonne).Comment.Text txtcomment

CNTJC
Messages postés
2
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
12 mars 2010

CNTJC,

Merci pour ta réponse rapide.
Je viens de tester et c'est une nouvelle erreur :
Run-Time error "91"
object variable or with block variable not set
au niveau de la ligne :
.Cells(c, colonne).Comment.Delete

je copies ma sub ici, il y a peut-être une déclaration que je n'ai pas faite correctement...

Private Sub CommandButton1_Click()

Dim strWSName As String
Dim txtcomment As String
Dim mois As Integer
Dim jour As Integer
Dim colonne As Integer

mois = month(UserForm4.tbxdata.Value)
jour = Day(UserForm4.tbxdata.Value)
colonne = jour + 3

' recuperation du nom du mois pour selection de la feuille

With Worksheets("Data")
strWSName = .Cells(mois, 2).Value

' recuperation des couleurs
cor1 = .Cells(1, 4).Interior.ColorIndex
cor2 = .Cells(2, 4).Interior.ColorIndex
cor3 = .Cells(3, 4).Interior.ColorIndex
cor4 = .Cells(4, 4).Interior.ColorIndex
cor5 = .Cells(5, 4).Interior.ColorIndex
cor6 = .Cells(6, 4).Interior.ColorIndex

End With


i = 1
Do While i < 70
With Worksheets(strWSName)
txtcomment = UserForm4.Controls("TextBox" & i).Text
j = 133 + i
c = i + 2
.Cells(c, colonne).Value = UserForm4.Controls("ComboBox" & j).Value
.Cells(c, colonne).Comment.Delete
.Cells(c, colonne).Select
.Cells(c, colonne).AddComment
.Cells(c, colonne).Comment.Visible = False
.Cells(c, colonne).Comment.Delete


Select Case UserForm4.Controls("ComboBox" & i).Text
Case "Avaria"
.Cells(c, colonne).Interior.ColorIndex = cor1
Case ("Manutenção Preventiva")
.Cells(c, colonne).Interior.ColorIndex = cor2
Case ("Preventiva Semestral")
.Cells(c, colonne).Interior.ColorIndex = cor3
Case ("Funcionando com restrições")
.Cells(c, colonne).Interior.ColorIndex = cor4
Case ("Funcionando subutilizada")
.Cells(c, colonne).Interior.ColorIndex = cor5
Case ("Funcionando Integralmente")
.Cells(c, colonne).Interior.ColorIndex = cor6
Case ("")
.Cells(c, colonne).Interior.ColorIndex = cor6
End Select
i = i + 1
End With


Loop


End Sub