Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Paritec

XLDnaute Barbatruc
Bonjour Le forum,
J'ai un problème j'aimerais dans le code ci-dessous ajouter là ou il y a les points d'interrogation, la valeur de la denière cellule de la colonne D de la Feuil12 (Avril)du classeur Comptabilité Manuelle 2008.
Le chemin du classeur comptabilité manuelle c'est C:\Paritec\Paritec\Comptabilité manuelle 2008 (ce classeur n'est pas ouvert pour la récupération)
Et je n'y arrive pas
Le reste du code marche bien mais comment faire pour récupérer la valeur de la cellule D & derligne ?
Oui je précise que la cellule n'est jamais la même puisque au fur et à mesure de l'ajout des lignes la cellule change.
Si vous pouvez me compléter le code ci-dessous merci d'avance
dans l'attente de vos réponses
a+
Papou

With UserForm2.ListBox1
.AddItem (Format(dat, "dd/mm/yyyy")) & " au " & Format(dat1, "dd/mm/yyyy")
.List(.ListCount - 1, 1) = ""
.List(.ListCount - 1, 2) = "Chiffre Total " & Format(Var_somme, "###,##0.00 €")
.List(.ListCount - 1, 3) = "Total MOH " & Format(Moh_somme, "###,##0.00 €")
.List(.ListCount - 1, 4) = "Total Déplacement " & Format(forfait_somme, "###,##0.00 €")
'.List(.ListCount - 1, 5) = ?????
 
C

Compte Supprimé 979

Guest
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Salut Paritec,

Si l'autre classeur n'est pas ouvert, tu peux utiliser en autre la méthode ADO !

Qui permet de récupérer une valeur dans un classeur fermé.

Tu peux trouver un tas d'éxemple sur ce forum, ou alors tu peux aller visiter le site de l'ami Frédéric : Ce site n'existe plus

Par contre avec le fait que la ligne n'est jamais la même, je ne sais pas.

A+
 

Paritec

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Bonjour Bruno, le forum,
je suis allé sur le site j'ai pris des exemples, mais ou il ne marchent pas ce dont je doute, ou je n'ai pas su me démerder pour adapter à mon cas et je pense que c'est cela.
Enfin si une âme charitable peut essayer de me complèter le code ce sera vraiment génial pour moi.
a+
et bon dimanche
Papou
 

ChTi160

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Salut Pascal
Bonjour le fil
Bonjour le Forum

il serait, comme tu le sais , que tu mettes un petit fichier exemple

Question : Je pense que la feuille cible (Avril) où tu vas chercher le dernier l'élément de la colonne D ,va changer de nom en avançant dans l'année, comment récupéres tu ce nom ? , a t'il un rapport avec tes dates ?

(Format(dat, "dd/mm/yyyy")) & " au " & Format(dat1, "dd/mm/yyyy")

Explique nous ,car nous sommes en Mars et tu vas chercher dans Avril ????
New Edit : Quelle est la nature de la valeur à retourner ,Numérique, string
je regarde pour la récupération de la valeur
Bonne fin de WeekEnd
Merci D'avance
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

re
voilà ce que j'ai fait (non testé pas de fichier) Lol
je crée une fonction qui va ouvrir le fichier "Comptabilité manuelle 2008.xls"
et récupérer la valeur de la cellule Dx de la feuille Avril (il faut qu'elle existe Lol (je n'ai pas mis de test)
ce qui pourrait donner
.List(.ListCount - 1, 4) = "Total Déplacement " & Format(forfait_somme, "###,##0.00 €")
.List(.ListCount - 1, 5) = Récup_Donnée("Avril") 'le mois est ici en dur ne sachant , comment il est déterminé
Code:
Function Récup_Donnée(ByVal Str As String) As String
Dim DerLigne As Integer
Dim wkCible As Excel.Workbook
Dim Sht_Cible As String
Application.ScreenUpdating = False
 Sht_Cible = Str '[COLOR=DarkGreen]pour l'exemple
'Ici on ouvre le fichier
[/COLOR]Set wkCible = Workbooks.Open("C:\Paritec\Paritec\Comptabilité manuelle 2008.xls")
[COLOR=DarkGreen]'avec ce fichier[/COLOR]
With wkCible
  With Worksheets(Sht_Cible) [COLOR=DarkGreen]'au niveau de la feuille ici "Avril"
[/COLOR][COLOR=DarkGreen]'on détermine la dernière ligne du tableau[/COLOR]
           DerLigne = .Range("A65536").End(xlUp).Row
[COLOR=DarkGreen]'et on renvoie la dernière valeur de la colonne D[/COLOR]
           Récup_Donnée = .Range("D" & DerLigne).Value 
  End With
       .Close '[COLOR=DarkGreen]on referme le classeur[/COLOR]
End With
Application.ScreenUpdating = True
End Function
Dans l'attente
arff je ne suis pas très bon avec ADO mais je vais essayer d'apprendre,il y a aussi le [FONT=&quot] FileSystemObject (FSO) [/FONT]
Bonne journée
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Bonjour Jean Marie, le forum
Excuses je n'étais pas venu là dessus
Pour le fichier exemple c'est dura car c'est mon fichier de compta!!
Bref tu as parfaitement compris la situation suaf que la cellule D42 de mars c'est une cellule qui reprend les soldes des mois précédents donc elle ne changera qu'une seule fois par an pour prendre la valeur de la cellule Comptabilité Manuelle 2009 (exepmple)
Je vais vite coller ton code dans mon classeur et je te donne la réponse au plus vite.
Je dois suspendre un peu ma femme me réclame alors je vais voir et je reviens
a+
merci beaucoup
Papou
 

Paritec

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Re Jean Marie, le forum,
Alors je pense que cela va être bon, simplement pour le moment tu as fait la recherche de la dernière cellule non vide du haut vers le bas et c'est pas bon car j'ai des lignes vide entre les divers chapitres.
Il faudrait faire la recherche du 65000 vers le haut STP et là je suis sur que je vais avoir la bonne valeur
dans l'attente de ta réponse
amicalement
Papou
 

ChTi160

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

re Pascal

pour ce qui est de la recherche de la derniere ligne

je pars bien du bas vers le Haut
DerLigne = .Range("A65536").End(xlUp).Row 'Up voulant dire vers le Haut et xlDown vers le Bas soit , .Range("A1").End(xlDown).Row

il faut peut être adapter la colonne de Recherche , Ici j'ai pris la colonne A voir si tu as une colonne dans ton tableau qui est obligatoirement remplie et adapater la macro (exemple mettre .Range("D65536").End(xlUp).Row si c'est la colonne D qui est choisie)
Bonne journée
 

Paritec

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Re Chti, le forum,
Bon j'y retourne mais je sais déjà que c'est bon car j'ai eu une valeur de ma feuille Comptabilité 2007 alors plus de soucis juste des mises au point je tiens le bon bout!!
a+
Papou
 

Paritec

XLDnaute Barbatruc
Re : Récupérer la valeur dune cellule dans un autre classeur et l'ajouter une listbox

Re Chti le forum,
Alors oui quel couillon, les infos ne sont pas sous forme de ligne a la fin du fichier ce qui fait que je ne detectais pas la bonne ligne et en plus je n'avais pas vu que tu avais mis A65000
donc avec D65000 c'est top j'ai ma bonne valeur
Merci encore Jean Marie et a Bientôt
amicalement
Pascal
 

Discussions similaires

Réponses
2
Affichages
705

Statistiques des forums

Discussions
311 720
Messages
2 081 886
Membres
101 830
dernier inscrit
sonia poulaert