Extraire des commentaires

  • Initiateur de la discussion Initiateur de la discussion adventum
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

adventum

Guest
Excel 2000,
J'ai une feuille avec une colonne "nom".
Dans certaines cellules ont été insérées sous forme de commentaires des dates de naissance.
J'ai crée une colonne 'date naissance', et je voudrais que les dates insérées en commentaire, sient transférées dans la colonne correspondante.

ce qui bloque apparement, ce sont les cellules vides ou les cellules ou il n'y a pas de date.

> Sub Macro2()
> Dim Num As Integer
> Dim Comtexte As String
> tt1 = "s_commentaire"
> > Num = 2 'ca commence ligne 2
> Do While Num < 2553 'il ya 2553 lignes
> Comtexte = Val(Num)
> texte1 = "I" & Comtexte
> texte2 = "J" & Comtexte
if isnull(Range(texte1).comment.Text) then
> Range(texte2) = tt1
> Num = Num + 1
> Else
> Range(texte2).Value = Range(texte1).comment.Text
> Num = Num + 1
> End If
> Loop
>
> End Sub

j'ai essayé plein de trucs et plein de msg d'erreurs
 
Re : Extraire des commentaires

bonsoir adventum

salut Hervé

pour bien apprecier la difference entre ce que fait Hervé et ce que je commets

ma solution:

Code:
Sub Macro2()
 Dim Num As Integer
 Dim Comtexte As String
 tt1 = "s_commentaire"
  Num = 2 'ca commence ligne 2
 Do While Num < 2553 'il ya 2553 lignes
 Comtexte = Val(Num)
 texte1 = "I" & Comtexte
 texte2 = "J" & Comtexte
 If Range(texte1).Comment Is Nothing Then
 Range(texte2) = tt1
 Num = Num + 1
 Else
 Range(texte2).Value = Range(texte1).Comment.Text
 Num = Num + 1
 End If
 Loop
 End Sub

et je ne dis rien du temps passé en plus !!!
 
Re : Extraire des commentaires

Bonjour

Un essai

Code:
Sub Macro2()
'
' Extrait le commentaire s'il existe
' de la colonne I vers la colonne J
Dim Num As Long
  
  For Num = 2 To 2553                   'il ya 2553 lignes
    If Not (Cells(Num, 9).Comment) Is Nothing Then
      Cells(Num, 10) = Cells(Num, 9).Comment.Text
    End If
  Next Num
End Sub
 
Re : Extraire des commentaires

bonjour

a essayer :

Code:
Dim c As Range

For Each c In Range("i2:i2553") '2553")
    If c.Comment Is Nothing Then
        Range("j" & c.Row) = "s_commentaire"
    Else
        Range("j" & c.Row) = c.Comment.Text
    End If
Next c

salut

tout va bien, c'est pas possible d'etre aussi nul, je me sens comme un poule devant un couteau avec ce sacré visual basic ! il faut que je m'y mette !

merci beaucoup a toi !
 
Re : Extraire des commentaires

Bonsoir adventum, Hervé, pierrejean, Banzai64,

Sauf erreur, on peut aussi simplifier encore un peu et accélérer au passage le traitement, en bouclant sur les seules cellules contenant un commentaire :
Code:
[COLOR=NAVY]Dim[/COLOR] c [COLOR=NAVY]As[/COLOR] Range

    [COLOR=NAVY]For Each[/COLOR] c [COLOR=NAVY]In[/COLOR] Columns("I").SpecialCells(xlCellTypeComments)
        c.Offset(0, 1).Value = c.Comment.Text
    [COLOR=NAVY]Next[/COLOR] c

Et bien sûr, si on veut limiter le traitement aux seules lignes 2 à 2553 :
Code:
[COLOR=NAVY]Dim[/COLOR] c [COLOR=NAVY]As[/COLOR] Range

    [COLOR=NAVY]For Each[/COLOR] c [COLOR=NAVY]In[/COLOR] [B]Range("i2:i2553")[/B].SpecialCells(xlCellTypeComments)
        c.Offset(0, 1).Value = c.Comment.Text
    [COLOR=NAVY]Next[/COLOR] c

Cordialement,
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
M
Réponses
3
Affichages
2 K
MONADESIGN82
M
Y
Réponses
4
Affichages
1 K
Younnssssss
Y
Retour