Bonjour a tous,
Je viens discuter avec vous de la démarcation des produit hautement technologique dans un marché mondial qui s’essouffle !
Comment ça ce n'est pas le sujet du forum ??
Plus sérieusement je me permet de venir vous demander de l'aide et quelques conseils, car étant débutant en VBA j'ai un peu de mal ....
Mon probléme est assez simple, je souhaiterias utiliser la fonction INDIRECT pour aller rechercher de l'information ( le contenue d'une cellule) dans un classeur fermé.
J'entend déja tout les maitres du forum crier a l'heretique et me promettre le bucher car ce que je demande est impossible ! Ne vous en faites pas, je le sais ^^ ! J'ai fait quelque recherche et je suis méme passé par toutes les FAQ du net (Waaaaaaaaaa).
Je travaille actuellement sur Excel 2007 et j'utilise le code trouvé dans une FAQ :
Code :
je vois deja les sourires ce formé sur les visages, car oui, ce code ne marche pas sous exel 2007, du moins pas avec les extentions .Xlsm, j'ai fait le test avec des fichier .xls, ca marche impec !
J'ai bien essayé de changer l'Extended Properties mais sans résultats probant, mis a par que ca ne marchais plus sur aucune des deux extensions ......
Quelqu'un pourrait'il eclairer ma lanterne ?
J'ai 200 cellules a remplir grâce a cette superbe fonction, seulement ça rame .....
J'utilise donc une macro empêchant le calcul auto de la page, car j'ai absolument besoin du calcul auto dans les autres classeurs sur lesquels je travail.
le code que j'utilise est le suivant :
Code :
et je met a la feuille a jour avec un bouton dont le code est le suivant :
Code :
Pour l'instant ça fonctionne, ça rame a la mise a jour et a l’ouverture, mais ça ne rame qu'a se moment la, donc c'est acceptable....
Maintenant si quelqu'un a mieux, je prend, mais je le redit, je débute, donc pour le moment je trifouille des codes trouver a droite a gauche et j'utilise l'enregistreur de macro mais c un peu prés tout !
Je peux sans problème joindre les fichier pour ceux qui voudrais y regarder de plus prés !
Merci d'avance pour votre aide et bonne journée a tous !
Rhapso
Je viens discuter avec vous de la démarcation des produit hautement technologique dans un marché mondial qui s’essouffle !
Comment ça ce n'est pas le sujet du forum ??
Plus sérieusement je me permet de venir vous demander de l'aide et quelques conseils, car étant débutant en VBA j'ai un peu de mal ....
Mon probléme est assez simple, je souhaiterias utiliser la fonction INDIRECT pour aller rechercher de l'information ( le contenue d'une cellule) dans un classeur fermé.
J'entend déja tout les maitres du forum crier a l'heretique et me promettre le bucher car ce que je demande est impossible ! Ne vous en faites pas, je le sais ^^ ! J'ai fait quelque recherche et je suis méme passé par toutes les FAQ du net (Waaaaaaaaaa).
Je travaille actuellement sur Excel 2007 et j'utilise le code trouvé dans une FAQ :
Code :
Code:
Function LireCellule_ClasseurFerme( _
Chemin As String, _
Fichier As String, _
Feuille As String, _
Cellule As Variant) As Variant
Application.Volatile
Dim Source As Object, Rst As Object, ADOCommand As Object
Dim Cible As String
Feuille = Feuille & "$"
Cible = Cellule.Address(0, 0, xlA1, 0) & ":" & _
Cellule.Address(0, 0, xlA1, 0)
Set Source = CreateObject("ADODB.Connection")
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & "\" & Fichier & _
";Extended Properties=""Excel 8.0;HDR=No;"";"
Set ADOCommand = CreateObject("ADODB.Command")
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cible & "]"
End With
Set Rst = CreateObject("ADODB.Recordset")
'1 = adOpenKeyset, 3 = adLockOptimistic
Rst.Open ADOCommand, , 1, 3
Set Rst = Source.Execute("[" & Feuille & Cible & "]")
LireCellule_ClasseurFerme = Rst(0).Value
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Function
je vois deja les sourires ce formé sur les visages, car oui, ce code ne marche pas sous exel 2007, du moins pas avec les extentions .Xlsm, j'ai fait le test avec des fichier .xls, ca marche impec !
J'ai bien essayé de changer l'Extended Properties mais sans résultats probant, mis a par que ca ne marchais plus sur aucune des deux extensions ......
Quelqu'un pourrait'il eclairer ma lanterne ?
J'ai 200 cellules a remplir grâce a cette superbe fonction, seulement ça rame .....
J'utilise donc une macro empêchant le calcul auto de la page, car j'ai absolument besoin du calcul auto dans les autres classeurs sur lesquels je travail.
le code que j'utilise est le suivant :
Code :
Code:
Sub Workbook_Open()
Worksheets("Etat_actions").Activate
Dim i As Integer
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).EnableCalculation = False
Next i
end sub
Code :
Code:
Sub miseajour()
ActiveSheet.EnableCalculation = True
ActiveSheet.Calculate
ActiveSheet.EnableCalculation = False
End Sub
Pour l'instant ça fonctionne, ça rame a la mise a jour et a l’ouverture, mais ça ne rame qu'a se moment la, donc c'est acceptable....
Maintenant si quelqu'un a mieux, je prend, mais je le redit, je débute, donc pour le moment je trifouille des codes trouver a droite a gauche et j'utilise l'enregistreur de macro mais c un peu prés tout !
Je peux sans problème joindre les fichier pour ceux qui voudrais y regarder de plus prés !
Merci d'avance pour votre aide et bonne journée a tous !
Rhapso