Commentaire dans cellules grace à VBA
Résolu
elglouton
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
elglouton Messages postés 189 Date d'inscription Statut Membre Dernière intervention -
elglouton Messages postés 189 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Commentaire dans cellules grace à VBA
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Aller à la ligne dans une cellule excel - Guide
1 réponse
Bonjour,
Regarde si ça convient :
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 (?)
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 (?)
Juste deux petites chose est-ce possible que la fenêtre s'adapte a son contenu
et a chaque saut de ligne forcé apparait un petit carré est-ce possible de ne pas le voire.
Merci encore
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
C'est parfait le remplacement de vbCrLF par vbLF a fonctionner
Commentaires.xlsm
Tu peux fixer la largeur maximale des commentaires en changeant le paramètre :
UserForm1.TextBox1.Width = 300
Ne pas supprimer le UserForm1 même s'il n'est pas appelé.
eric
Encore Merci