IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

comment changer 1 propriété par défaut d'un commentaire


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 6
    Points
    6
    Par défaut comment changer 1 propriété par défaut d'un commentaire
    bonjour,

    je suis à la recherche si elle existe, d'une clef de registre modifiable pour changer un paramètre par défaut qui apparement ne l'est pas dans les options général


    en effet, un commentaire est attaché à la cellule quand il est crée, mais si on fait un copier coller, le commentaire ne suit pas.

    pour pouvoir déplacer ainsi les commentaires, il faut faire :

    un clic droit sur le commentaire
    format de commentaire
    propriétés
    positionnement de l'objet : "déplacer sans dimensionner avec les cellules" au lieu de "ne pas déplacer ou dimensionner avec les cellules"...

    je voudrais ainsi changer ce paramètre à la valeur désirée.

    afin de pouvoir utiliser ctrl+c et ctrl+v directement...

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut Quelques exemples...
    pompés je ne sais où. Une première base


    Format des commentaires imposés
    Première solution :
    Il y a dans « Format de commentaire » plusieurs onglets dont, « Alignement » décoché, « taille automatique », « Dimension » décoché, « Proportionnel », « Déplacer sans dimensionner avec les cellules ».
    Autre solution :
    Une macro ajoute des commandes dans le menu contextuel et permet d'ouvrir une fenêtre de commentaire paramétrée à sa guise (pas de nom de l'utilisateur et adaptation automatique de la dimension en fonction du contenu) tout en gardant la possibilité d'utiliser la commande habituelle d'Excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ' A copier dans le module « ThisWorkbook »
    Private Sub Workbook_AddinInstall()
    	Set ctrl = Application.CommandBars("Cell").FindControl(Id:=2031)
    	With Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=ctrl.Index + 1)
    		.Caption = "Commentaire vierge"
    		.OnAction = "CommentaireMonique"
    	End With
    End Sub
     
    Private Sub Workbook_AddinUninstall()
    	Application.CommandBars("Cell").Controls("Commentaire vierge").Delete
    End Sub
     
    '***A copier dans un module normal***
    Option Private Module
     
    Sub CommentaireMonique()
    	Set cmt = ActiveCell.AddComment
    	With cmt.Shape
    		.Placement = xlFreeFloating
    		.TextFrame.AutoSize = True
    		With .OLEFormat.Object
    			With .Font
    				.Name = "Times New Roman": .Size = 14: .Color = vbRed
    			End With
    		End With
    	End With
    	cmt.Text Text:=""
    	SendKeys "%IM"
    End Sub
    Adapter et à sauver en « *.xla ».

    Changer la couleur de l'onglet commentaires
    Le(s) commentaire(s) doivent commencer par le nom d'utilisateur qu'Excel inscrit par défaut (en gras, suivi de « : »).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Sub test_fncCreateCommentIndicator()
    	fncCreateCommentIndicator vbBlue, "nomDeLUtilisateur"
    End Sub
     
    Public Function fncCreateCommentIndicator(CommentIndicatorColor As Long, CommentIndicatorName As String) As Boolean
    	'covers the comment indicators in the activeworkbook with a similar
    	'triangle of the specified color, based on the Application.UserName property
    	'Stratos Malasiotis (microsoft.public.excel.programming)
    	Dim IDnumber As Long
    	Dim aCell As Range
    	Dim aComment As Comment
    	Dim aShape As Shape
    	Dim aWorksheet As Worksheet
    	Dim aWorkbook As Workbook
    	fncCreateCommentIndicator = False
    	'check whether a code name has been entered
    	If CommentIndicatorName = vbNullString Then GoTo ExitFunction
    	On Error GoTo ExitFunction
    	Set aWorkbook = ActiveWorkbook
    	IDnumber = 0
    	'loop through all wprksheets in the active workbook and all comments
    	'in each worksheet and create the comment shapes
    	For Each aWorksheet In aWorkbook.Worksheets
    		For Each aShape In aWorksheet.Shapes
    			If Left(aShape.Name, Len(CommentIndicatorName)) = CommentIndicatorName Then
    				aShape.Delete
    			End If
    		Next aShape
    		For Each aComment In aWorksheet.Comments
    			Set aCell = aComment.Parent
    			If InStr(1, aComment.Shape.TextFrame.Characters.Text, ":") > 0 Then
    				If Left(aComment.Shape.TextFrame.Characters.Text, InStr(1,aComment.Shape.TextFrame.Characters.Text, ":") - 1) = Application.UserName Then
    					GoSub CreateCommentIndicator
    				End If
    			End If
    		Next aComment
    	Next aWorksheet
    	fncCreateCommentIndicator = True
    ExitFunction:
    	On Error GoTo 0
    	Set aCell = Nothing
    	Set aComment = Nothing
    	Set aShape = Nothing
    	Set aWorksheet = Nothing
    	Set aWorkbook = Nothing
    	Exit Function
    CreateCommentIndicator:
    	Set aShape = aWorksheet.Shapes.AddShape(Type:=msoShapeRightTriangle, Left:=aCell.Left + aCell.Width - 5, Top:=aCell.Top, Width:=5, Height:=5)
    	IDnumber = IDnumber + 1
    	With aShape
    		.Name = CommentIndicatorName & CStr(IDnumber)
    		.IncrementRotation -180#
    		.Fill.Visible = msoTrue
    		.Fill.Solid
    		.Fill.ForeColor.RGB = CommentIndicatorColor
    		.Line.Visible = msoTrue
    		.Line.Weight = 1
    		.Line.Style = msoLineSingle
    		.Line.DashStyle = msoLineSolid
    		.Line.ForeColor.RGB = CommentIndicatorColor
    		.Placement = xlMove
    	End With
    	Return
    End Function
    ' -------------------------------------------------
    ' As it is now it will colour only the comments that keep the default name
    ' given by excel (Application.username)
    Nom par défaut dans les commentaires
    Comment supprimer le nom qui apparaît par défaut dans les commentaires ?
    Il n’y a pas d'autre moyen d'obtenir un commentaire vraiment vierge que par VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    ' dans le module ThisWorkbook d'un classeur neuf
    Private Sub Workbook_AddinInstall()
    	Dim Ctrl As CommandBarControl
    	On Error Resume Next
    	Set Ctrl = Application.CommandBars("Cell").FindControl(ID:=2031)
    	With Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=Ctrl.Index + 1)
    		.Caption = "Commentaire vierge"
    		.OnAction = "CommentaireMonique"
    	End With
    End Sub
     
    Private Sub Workbook_AddinUninstall()
    	On Error Resume Next
    	Application.CommandBars("Cell").Controls("Commentaire vierge").Delete
    End Sub
     
     
    ' dans un module standard
    Sub CommentaireMonique()
    	On Error Resume Next
    	Set cmt = ActiveCell.AddComment
    	If Err <> 0 Then GoTo Fin
    	With cmt.Shape
    		.Placement = xlFreeFloating
    		.TextFrame.AutoSize = True
    		With .OLEFormat.Object
    			With .Font
    				.Name = "Times New Roman": .Size = 14: .Color = vbRed
    			End With
    		End With
    	End With
    	cmt.Text Text:=""
    Fin:
    	SendKeys "%IM"
    End Sub
    Commentaire conditionnel
    Je voudrais afficher un commentaire dans une cellule en fonction de l'état d'un option button dans un « UserForm » : si le bouton est coché alors rajouter à la cellule « D25 » le commentaire « Attention... ».
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub opt_1_Click()
    	If Me.opt_1 = -1 Then
    		Worksheets("k").Range("D25").Comment.Text ("Attention..." & Chr(10) & "La case est cochée")
    	Else
    		Worksheets("k").Range("D25").Comment.Text ("Attention..." & Chr(10) & "La case est pas cochée")
    	End If
    End Sub
    On n’est pas obligé de déclencher l'événement avec le clic sur le bouton d'option bien sûr.

    Voilà quelques propriétés et quelques idées.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    merci de ta réponse,

    le soucis est de ne pas pouvoir sauvergarder les paramètres que tu indiques dans la première solution car tu cites bien le paramètre dont je parle, à la fermeture d'excel, ils ne sont pas sauvegardés...

    d'où mon idée de penser qu'une clef de registre pourrait fonctionner...

    sinon sur un autre forum, quelqu'un m'a donné une solution qui passe par le vba en changeant le paramètre voulu mais en associant à ctrl+B au lieu du ctrl+V habituel... ça va être dur à faire comprendre aux utilisateurs habitués au ctrl+V...

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut Sauvegarder le paramètre...
    je ne connais pas votre version d'Excel, mais il est tout à fait possible de sauvegarder le paramètre dans les propriétés du document pour le réutiliser par la suite. De la sorte, le paramètre est dépendant du fichier et non du poste avec Windows. Portabilité augmentée.

    voir à partir de ce lien dans la FAQ Excel :
    Comment lire les propriétés dans le classeur ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    merci de cette piste, je vais essayer (mais je ne connais pas vba, donc cela va être un peu compliqué au vu des infos données dans le lien)

Discussions similaires

  1. [XHTML] Liste-déroulante : comment changer la ligne par défaut ?
    Par Delphine.4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/08/2007, 12h23
  2. [VBA - O] Comment changer le compte par défaut via VBA ?
    Par Régolo dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 15/08/2007, 12h04
  3. [unicode/ascii] Comment changer l'encodage par défaut????
    Par Mr Hyde dans le forum Général Python
    Réponses: 2
    Dernier message: 07/10/2005, 09h24
  4. Comment changer l'icone par défaut ?
    Par Mariussy dans le forum EDI
    Réponses: 3
    Dernier message: 19/09/2005, 20h23
  5. Réponses: 9
    Dernier message: 13/06/2005, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo