Macro pr extraire commentaires en ligne et les placer en colonne...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin de modifier cette macro pour extraire des commentaires situés sur une ligne et les transposer sur une colonne....

voir fichier joint...

Merci pour votre aide si précieuse.

Bien à vous,
Christian
 

Pièces jointes

  • Macro pour extraire et transposer commentaires.xlsx
    22.2 KB · Affichages: 35

Modeste

XLDnaute Barbatruc
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

Bonjour Christian,

L'enregistreur de macros pourrait te donner déjà les grandes lignes, en:
- sélectionnant D12, puis Ctrl+Shift+Flèche droite
- copiant la plage sélectionnée
- activant DN12
- faisant un collage spécial: Commentaires + Transposé

... ne restera ensuite qu'à faire un peu d'élaguage!
 

Christian0258

XLDnaute Accro
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

Re , le forum, Modeste,

Ok, Modeste, j'ai essayé, mais ce que je souhaite c'est récupérer le contenu des commentaires et non les commentaires...

Merci pour ta réponse.

à te lire,

Bien à toi,
Christian
 

CHALET53

XLDnaute Barbatruc
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

bonjour à tous,

comme ceci :

Sub ExtraitCommentaire1()
i = 11
Application.Calculation = xlManual
Range("DN12:DN42").ClearContents
For Each c In Range("D12:AH12")

i = i + 1
Range("DN" & i) = c.Comment.Text
Next c
Application.Calculation = xlAutomatic
End Sub

a+
 

Christian0258

XLDnaute Accro
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

Re, Modeste, CHALET53, le forum,

CHALET53, j'ai essayé d'adapter ta macro afin de continuer mon projet, mais maintenant ça plante.

Pourriez-vous me dire...
voir fichier joint.

Merci pour l'aide que voudrez bien vouloir m'apporter.

Bien à vous,
Christian
 

Pièces jointes

  • MacroTransposerCommentairesV1.zip
    46.6 KB · Affichages: 33

CHALET53

XLDnaute Barbatruc
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

Re,

Dans la mesure où tu n'as pas de commentaires dans toutes les cellules, il faut tester la présence :

Sub ExtraitCommentaire1()
i = 10
Application.Calculation = xlManual 'pour accélerer la, ou les macros
Application.ScreenUpdating = False
Range("DN11:DN42").ClearContents
For Each c In Range("C12:AH12") ' ligne Agent1
i = i + 1


If Not (c.Comment Is Nothing) Then
Range("DN" & i) = c.Comment.Text 'colonne où placer les résultats de l'extraction
End If

Next c
Stop
Range("DO43:Dv43").Select 'ligne totaux, à copier
Selection.Copy
Range("Am12").Select 'première cellule du tableau,à renseigner
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("c11").Select
Application.Calculation = xlAutomatic ' remis à chaque fois pour activer les calculs
Application.ScreenUpdating = True
End Sub

a+
 

Christian0258

XLDnaute Accro
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

Re le forum, CHALET53, Bonjour à tout le forum,

Merci,CHALET53, pour ton aide.

J'ai appliqué, dans le fichier joint, ta macro avec l'arrêt de celle-ci dans le cas d'une cellule sans commentaire.
En fait en "condition réelle" il ne peut pas y avoir une cellule renseignée sans son commentaire.
En revanche je préfèrerais sortir de la macro si il n'y a pas de Nom Agent en colonne C...

Peux-tu regarder le fichier...

Encore merci pour ton aide si précieuse.

Bien à toi,
Christian
 

Pièces jointes

  • EssaiMacroTransposerCommentairesV2.zip
    50.4 KB · Affichages: 30

CHALET53

XLDnaute Barbatruc
Re : Macro pr extraire commentaires en ligne et les placer en colonne...

bonjour,
est-cela que tu souhaites ?

Sub ExtraitCommentaire11()
i = 10
Application.ScreenUpdating = False
If Range("C22") = "" Then
MsgBox ("Pas de nom en colonne C : A vérifier")
Exit Sub

End If
For Each c In Range("C22:AH22") ' ligne Agent traité

i = i + 1
If Not (c.Comment Is Nothing) Then
Range("DN" & i) = c.Comment.Text 'colonne où placer les résultats de l'extraction
End If
Next c

Range("DO43:dx43").Select 'ligne totaux, à copier
Selection.Copy
Range("AM22").Select 'première cellule, ligne Agent traité
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("c11").Select
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Réponses
6
Affichages
340

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko