![]() |
|
Forum
|
|
|||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: janvier 2008
Messages: 8
|
bonjour,
j'ai trouvé ce script sur internet répondant partiellement à ma question : Code:
Sub AjouteCommentaire()
[A:A].ClearComments
For Each c In Range("C2", [c65000].End(xlUp))
c.Offset(0, -2).AddComment c.Value
c.Offset(0, -2).Comment.Visible = True
c.Offset(0, -2).Comment.Shape.Select
Selection.AutoSize = True
c.Offset(0, -2).Comment.Visible = False
Next c
End Sub
j'aimerai bien pouvoir changer les colonnes à ma guise (même en devant changer le code à chaque fois) étant réélement débutant en "programmation", toutes les petites modifications que j'ai réalisé sur ce code m'ont conduit à des erreur. ![]() je vous demande donc votre aide. merci par avance Dernière modification par bravojr ; 11/03/2008 à 12h49. Motif: [RESOLU] |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
|
Salut,
Voici le code commenté : Code:
Sub AjouteCommentaire()
'on efface les commentaires de la colonne A
[A:A].ClearComments
'pour toutes les cellules de la plage C2:C dernière cellule remplit de la colonne C
For Each c In Range("C2", [c65000].End(xlUp))
'pour la cellule se trouvant sur la meme ligne (le 0 du offset)
'et 2 colonnes avant (le -2 du offset) la cellule de la colonne C
With c.Offset(0, -2)
'on ajoute un commentaire
.AddComment c.Value
'on met a visible le commentaire
.Comment.Visible = True
'on selectionne la fenetre du commentaire
.Comment.Shape.Select
'on ajuste automatiquement la taille de la fentre du commentaire
Selection.AutoSize = True
'on met a non visible le commentaire
.Comment.Visible = False
End With
Next c
End Sub
@+
__________________
« Connaître son ignorance est la meilleure part de la connaissance. » ![]() |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: janvier 2008
Messages: 8
|
Merci de ta réponse, surtout de tes explications...
ca marche!!! ![]() info : pour ceux qui comme moi sont nuls en "programmation": pour changer la colone C par E (par exemple), modifier la ligne Code:
For Each c In Range("C2", [c65000].End(xlUp))
Code:
For Each c In Range("E2", [e65000].End(xlUp))
![]() juste encore un petit point noir, comment faire pour passer outre une case vide dans la colone, pour qu'il me génére par exemple un commentaire vide dans l'autre? encore merci de ton aide |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
|
Salut,
Désolé, mais je ne saisie pas tres bien le sens de ta question. Est-ce que tu pourrais expliquer un peu plus en détail stp. @+
__________________
« Connaître son ignorance est la meilleure part de la connaissance. » ![]() |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: janvier 2008
Messages: 8
|
salut,
voici un exemple pour etre plus clair : A1 B1 B2 A3 B3 Je veux mettre en commentaire les valeurs des cellules de la colonne A sur les cellules de la colonne B la cellule A2 est vide En executant le script j'obtient une erreur VBA "400".... et seule la cellule B1 à un commentaire, si je rempli la cellule A2... plus de probleme. pour contourner le pb actuelement j'ai remplacer les cellules vide par des espaces. voila si tu as une solution... encore merci |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
|
Salut,
Je ne sais pas trop car chez moi, le code ne fonctionne deja pas tel quel, du coup, je te donne plusieurs syntaxes : La première devrait permettre d'ajouter un commentaire meme si la cellule de la colonne C est vide, selon le commentaire sera vide Code:
Sub AjouteCommentaire()
Dim c As Range
'on efface les commentaires de la colonne A
[A:A].ClearComments
'pour toutes les cellules de la plage C2:C dernière cellule remplit de la colonne C
For Each c In Range("C2", [c65000].End(xlUp))
'pour la cellule se trouvant sur la meme ligne (le 0 du offset)
'et 2 colonnes avant (le -2 du offset) la cellule de la colonne C
With c.Offset(0, -2)
If c.Value <> "" Then
'on ajoute un commentaire avec le texte
.AddComment c.Value
Else
'on ajoute un commentaire
.AddComment
End If
'on met a visible le commentaire
.Comment.Visible = True
'on selectionne la fenetre du commentaire
.Comment.Shape.Select
'on ajuste automatiquement la taille de la fentre du commentaire
Selection.AutoSize = True
'on met a non visible le commentaire
.Comment.Visible = False
End With
Next c
End Sub
Code:
Sub AjouteCommentaire()
Dim c As Range
'on efface les commentaires de la colonne A
[A:A].ClearComments
'pour toutes les cellules de la plage C2:C dernière cellule remplit de la colonne C
For Each c In Range("C2", [c65000].End(xlUp))
'pour la cellule se trouvant sur la meme ligne (le 0 du offset)
'et 2 colonnes avant (le -2 du offset) la cellule de la colonne C
With c.Offset(0, -2)
If c.Value <> "" Then
'on ajoute un commentaire avec le texte
.AddComment c.Value
'on met a visible le commentaire
.Comment.Visible = True
'on selectionne la fenetre du commentaire
.Comment.Shape.Select
'on ajuste automatiquement la taille de la fentre du commentaire
Selection.AutoSize = True
'on met a non visible le commentaire
.Comment.Visible = False
End If
End With
Next c
End Sub
__________________
« Connaître son ignorance est la meilleure part de la connaissance. » ![]() |
|
|
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Somme de valeurs d'une colonne liées à un libellé dans une autre colonne | Floris | Forum Excel | 6 | 30/08/2007 14h34 |
| Ajouter/Enlever un % d'une colonne en fonction d'une AUTRE | cephalotus | Forum Excel | 7 | 01/12/2006 15h54 |
| Ajout du contenu d'une colonne dans une autre | Lamoriciere | Forum Excel | 4 | 24/08/2005 15h14 |
| copier le contenu d'une colonne dans une autre col | Delphine | Forum Excel | 5 | 24/05/2005 17h37 |
| Maximum des données sur une colonne avec une condition dans une autre colonne | stephane | Forum Excel Downloads - Archives | 2 | 04/01/2003 17h23 |