Commentaire dans cellules grace à VBA
Résolu
elglouton
Messages postés
197
Statut
Membre
-
elglouton Messages postés 197 Statut Membre -
elglouton Messages postés 197 Statut Membre -
Bonjour,
Je souhaiterais savoir si il est possible d'effectuer un remplacement des cellules sous forme de commentaire.
Je m'explique Eriiic m'a beaucoup pour ce classeur Excel et il me reste le final
Voici un exemple
http://www.cijoint.fr/cjlink.php?file=cj201102/cija7Hzr15.xlsm
Et voici le debut du sujet https://forums.commentcamarche.net/forum/affich-20663483-remplacer-a-partir-d-un-tableau-excel#p20835700
Espérant avoir des réponses Merci par avance
Je souhaiterais savoir si il est possible d'effectuer un remplacement des cellules sous forme de commentaire.
Je m'explique Eriiic m'a beaucoup pour ce classeur Excel et il me reste le final
Voici un exemple
http://www.cijoint.fr/cjlink.php?file=cj201102/cija7Hzr15.xlsm
Et voici le debut du sujet https://forums.commentcamarche.net/forum/affich-20663483-remplacer-a-partir-d-un-tableau-excel#p20835700
Espérant avoir des réponses Merci par avance
1 réponse
-
Bonjour,
Regarde si ça convient :Sub Commentaires() ' pour chaque cellule de la sélection, ' traduit à l'aide des abréviations de 'Abrev' ' et met la traduction en commentaire. ' Pas d'ajout ou modification de commentaire si aucune traduction n'a eu lieu. ' Retour à la ligne forcé sur "et", "ou" Dim shAbrev As Worksheet, c As Range, ch As Variant Dim i As Long, j As Long, comment As String, ok As Boolean Set shAbrev = Worksheets("Abrev") derlig = shAbrev.[A65536].End(xlUp).Row For Each c In Selection comment = "" ok = False ' traduire ch = Split(c.Value, " ") For i = 0 To UBound(ch) If Len(ch(i)) > 1 Then j = 0 On Error Resume Next j = shAbrev.Range("A1:A600").Find(What:=ch(i), LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns).Row On Error GoTo 0 If j <> 0 Then ch(i) = shAbrev.Range("B" & Application.WorksheetFunction.Match(ch(i), shAbrev.Range("A1:A600"), 0)) ok = True End If End If If (ch(i) = "et" Or ch(i) = "ou") And comment <> "" Then comment = comment & vbCrLf comment = comment & " " & ch(i) Next i ' ajouter commentaire If ok Then On Error Resume Next c.AddComment On Error GoTo 0 c.comment.Visible = False c.comment.Text Text:=comment c.comment.Shape.Width = 300 'largeur commentaire c.comment.Shape.Height = 90 'hauteur commentaire End If Next c End Sub
Commentaires.xlsm
macro 'Commentaires' mise dans le module1
eric
Edit: on pourrait aussi prévoir un retour à la ligne forcé avant un élément traduit s'il est supérieur à une certaine taille (?)-
-
est-ce possible que la fenêtre s'adapte a son contenu
Ca serait faisable (?) mais long et compliqué car la mise en page est faite automatiquement en fonction de la police choisie et de sa taille. Je verrais peut-être plus tard mais sur les jours à venir j'aurais d'autres préoccupations.
a chaque saut de ligne forcé apparait un petit carré est-ce possible de ne pas le voir
Je n'ai pas ce petit carré...
As-tu changé la police des commentaires ? J'ai Tomaha Normal taille 9
Essaie en remplaçant vbCrLF par vbLF
eric -
-
-
-