Recuperation des commentaires

moteurV12

XLDnaute Occasionnel
Bonsoir à toutes et tous

Voici la procédure utilisé pour récuperer sur une base distante les données de certaines cellules qui fonctionne bien. ( excel 2000 )
Cependant certaines cellules aléatoires possedent des commentaires avec suivi et avec cette methodes ceux si ne sont pas rapatriés.
Fichier principal suivi complet.xsl sur feuille General
fichier à récupere Bill.xls sur Feuille General dans répertoire Chine

quelqu'un aurait il une idée ???:)

voici l'ébauche

Sub Macro4()

ActiveWorkbook.Save

FileDir = FilePath & "Chine\" & "Bill" & ".xls"

Workbooks.Open Filename:= _
FileDir, Password:="OCH12W"
Sheets(Array("General")).Select

Range("A2").Select

While ActiveCell.value <> Empty
LigneActive = ActiveCell.Row 'n° de la ligne "à lire"
If Cells(LigneActive, 5).value = "BILL" Then
DerniereLigne = LigneActive

'écriture dans la feuille "General"
With Workbooks("SUIVI COMPLET.xls").Sheets("General")
.Cells(DerniereLigne, 25).value = Cells(LigneActive, 24).value 'écrit dans la 25eme colonne la valeur trouvée dans la colonne 24 du fichier à rapatrier
.Cells(DerniereLigne, 27).value = Cells(LigneActive, 26).value
.Cells(DerniereLigne, 29).value = Cells(LigneActive, 28).value
.Cells(DerniereLigne, 31).value = Cells(LigneActive, 30).value
.Cells(DerniereLigne, 32).value = Cells(LigneActive, 31).value
.Cells(DerniereLigne, 33).value = Cells(LigneActive, 32).value
.Cells(DerniereLigne, 34).value = Cells(LigneActive, 33).value
.Cells(DerniereLigne, 36).value = Cells(LigneActive, 35).value
.Cells(DerniereLigne, 38).value = Cells(LigneActive, 37).value
.Cells(DerniereLigne, 40).value = Cells(LigneActive, 39).value
.Cells(DerniereLigne, 42).value = Cells(LigneActive, 41).value
.Cells(DerniereLigne, 44).value = Cells(LigneActive, 43).value
.Cells(DerniereLigne, 46).value = Cells(LigneActive, 45).value
.Cells(DerniereLigne, 48).value = Cells(LigneActive, 47).value
.Cells(DerniereLigne, 50).value = Cells(LigneActive, 49).value
.Cells(DerniereLigne, 51).value = Cells(LigneActive, 50).value
.Cells(DerniereLigne, 52).value = Cells(LigneActive, 51).value
.Cells(DerniereLigne, 54).value = Cells(LigneActive, 53).value
.Cells(DerniereLigne, 55).value = Cells(LigneActive, 54).value
.Cells(DerniereLigne, 56).value = Cells(LigneActive, 55).value
.Cells(DerniereLigne, 57).value = Cells(LigneActive, 56).value
.Cells(DerniereLigne, 58).value = Cells(LigneActive, 57).value
.Cells(DerniereLigne, 59).value = Cells(LigneActive, 58).value
.Cells(DerniereLigne, 60).value = Cells(LigneActive, 59).value
.Cells(DerniereLigne, 61).value = Cells(LigneActive, 60).value

End With

End If
ActiveCell.Offset(1, 0).Activate

Wend
Workbooks("Bill.XLS").Close SaveChanges:=False

Cells.EntireColumn.AutoFit
End Sub

Merci d'avance aux courageuses et aux courageux;)
 

James007

XLDnaute Barbatruc
Re : Recuperation des commentaires

Bonjour,

Tout dépend de la façon dont tu veux récupérer ces commentaires ... mais le plus important est de savoir qu'ils sont très faciles identifiables
Code:
For Each Com In ActiveSheet.Comments
.....

A +
 

moteurV12

XLDnaute Occasionnel
Re : Recuperation des commentaires

Bonjour James

Ben je souhaite simplement récuperer les comms en même temps que les valeurs des cellules ci dessus.

Merci de ton aide

ps :

l'équivalent d'un copier coller ferait l'affaire mais en tenant compte du numero de ligne et en ne copiant que cellule par cellule

par exemple
Workbooks("Bill.xls").Sheets("General").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1]
ne me convenait pas car le fichier bill contient par exemple non pas les lignes 1,2,3 mais 110, 186, 250 ( filtré sur suivi complet à l'origine )


A+
 

James007

XLDnaute Barbatruc
Re : Recuperation des commentaires

Bonjour,

Pour ne pas trop intervenir dans ton code, le plus simple est une fonction personnalisée ...que tu peux tester en Vrai Faux dans ton code ...
Code:
Function aComt(c As Range) As Boolean
aComt = Len(c.NoteText)
End Function

A +
 

James007

XLDnaute Barbatruc
Re : Recuperation des commentaires

Bonjour,

C'est une fonction qui pourrait te servir à tester si une cellule a un commentaire ou pas pour effectuer la copie du commentaire ...

Mais pour te dire toute la vérité ... et je ne dois pas être le seul à le penser ... le code que tu as posté n'est pas très joli ...
C'est ce qu'on peut appeler du code "spaghetti" qui fonctionne plus par hasard que par autre chose ...
Au passage pour ton info, si tu copies une cellule d'un endroit à un autre, tu copies également les commentaires ...
Alors question : existe-t-il une raison pour laquelle ce qui ressemble à une copie d'un endroit à un autre n'utilise pas la fonction Copy ... ?

A +
 

moteurV12

XLDnaute Occasionnel
Re : Recuperation des commentaires

Lol, je ne suis en aucun cas offusqué par ta franchise et au contraire je t'en remercie, je me doutais bien que ce code était loin d'être brillant vu mon ignorance totale de VBA.

la fonction copy serait parfaite, le seul souci est que je ne peu copier la ligne entière car le fichier source contient d'autres colonnes supplementaires et des valeurs de colonnes communes peuvent avoir été modifier, d'autre part je ne sais pas utiliser la fonction Copy cellule par cellule pour les colonnes que je souhaite récupérer.

j'avoue que je suis plutôt coincé malgrés un nombre inavouable d'heures passé sur ce probleme.

toute solution globale sera la bienvenue.

a suivre
 

James007

XLDnaute Barbatruc
Re : Recuperation des commentaires

Question subsidiaire ... ;)
Si on peut comprendre le décalage de -1 entre la source et la destination, la feuille est-elle à ce point incohérente que le pas entre les lignes sources soit de 2 puis de 1 puis encore de 2 ...,etc .... ?

A +
 

moteurV12

XLDnaute Occasionnel
Re : Recuperation des commentaires

la premier colonne du fichier suivi complet n'existe pas dans le fichier Bill, les autres sont similaires hormis que le fichier maitre ( suivi complet ) comporte d'autres colonnes à la fin.

Dans Bill toutes les colonnes sont en lecture seule sauf les colonnes à récuperer, ce qui explique les saut de colonnes

j'ai envoyé en MP

voila
 
Dernière édition:

James007

XLDnaute Barbatruc
Re : Recuperation des commentaires

Si tu envisages de tout reprendre à zéro ...
1. Tu te fais des copies de tous les fichiers pour ne pas risquer ceux qui sont opérationnels ...
2. Sur ces fichiers tests ... tu effaces toutes les macros ...
3. Graduellement, avec l'enregistreur de macros et l'aide du forum ,tu refais pas à pas tout le processus pour finir avec un boulot propre...solide, fiable ...et qui correspond à tes besoins ...

A +
 

moteurV12

XLDnaute Occasionnel
Re : Recuperation des commentaires

c'est la demarche exacte que j'ai utilisée pour en arriver ou j'en suis.
Bon pas grave, je vais me demerder seul........... comme d'hab

c'est gentil à toi d'avoir pris le temps de ............
Bonne continuation
 

Discussions similaires

Réponses
3
Affichages
954
Réponses
3
Affichages
826

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm