Recopier des formules dans classeur fermé

creal69360

XLDnaute Junior
Bonjour,

je voudrais savoir si il est possible de copier des formules dans un classeur fermé:

J'ai au départ une petite base qui contient des données avec des formules, je souhaite ajouter les données de la petite base à la suite dans la base principale . Ces 2 bases ont la même architecture, j'arrive à ajouter des données brutes mais je n'arrive pas à recopier les formules (Les formules sont remplacées par les valeurs brutes) . Est-il possible d'ajouter ces données en tant que formules?
Voici mon code permettant de recopier les valeurs brutes, je mets aussi en pièce jointe l'architecture de ma base:


Code:
Sub export_vers_tdb_oi()

Dim dernlign, dernlignsource As Integer
Dim Cn, cndest As ADODB.Connection
Dim Rst, rst2 As ADODB.Recordset
Dim propriete As Properties
Dim texte_SQL, texte_sql2 As String
Dim i, j As Integer

Application.DisplayAlerts = False

Set Cn = New ADODB.Connection

' On établit la connection avec la base TDB_OI


Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";Extended Properties=Excel 8.0;"
 requête SQL

texte_SQL = "Select * from [temp_eotp$]"

Set Rst = New ADODB.Recordset 'Création objet rst( permettant d'interroger la base)

Set Rst = Cn.Execute(texte_SQL, dbOpenForwardOnly, dbReadOnly) 'Exécution requête SQL


Set cndest = New ADODB.Connection
With cndest
.Provider = "Microsoft.Jet.OLEDB.4.0"

.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
 & chemin_base & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
 End With



Set rst2 = New ADODB.Recordset 'Création objet rst( permettant d'interroger la base)
texte_sql2 = "Select * from [" & onglet_source & "$] "


rst2.Open texte_sql2, cndest, adOpenKeyset, adLockOptimistic

dernlignsource = Sheets("temp_eotp").Cells(1000000, 1).End(xlUp).Row

j = 1




Do While Not j > dernlignsource
On Error Resume Next
rst2.AddNew
For i = 0 To rst2.Fields.Count

rst2.Fields(i) = Rst.Fields(i).Value

dernlign = dernlign + 1
Next i
j = j + 1



Rst.MoveNext
loop

rst2.Update


Rst.Close 'On détruit l'objet rst
Set Rst = Nothing

rst2.Close 'On détruit l'objet rst
Set rst2 = Nothing


Cn.Close 'On ferme la connection
Set Cn = Nothing
 

Pièces jointes

  • Petite base.xlsx
    23.3 KB · Affichages: 19
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Recopier des formules dans classeur fermé

Bonjour

Je ne comprends pas et je ne dois pas être le seul, quel est la finalité de la chose ?
Pourquoi ne pas partir directement de la base principale ?

A+
 

creal69360

XLDnaute Junior
Re : Recopier des formules dans classeur fermé

Oui j'avoue c'était peut-être pas très clair.
La finalité c'est que la "grosse base" soit une "vraie" base de données qu'on puisse interroger pour réaliser des traitements mais que les traitements soient réalisées sur un fichier à part (risque d'erreurs de manipulation, problème de formules etc...), je voulais au départ héberger les données sous access mais ce n'est pas possible, j'ai donc opté pour excel mais avec une réglementation stricte et les données doivent être modifiables par plusieurs personnes en même temps donc sans ouvrir le fichier. Je bloque en ce momment pour l'ajout de données, les données de base sont au départ saisies dans un modèle, j'importe ensuite le modèle en sélectionant le fichier (fenêtre parcourrir). Après une série de traitements j'arrive à la base que j'ai mise en pièce jointe (il y a des colonnes vides car ceux sont des données que l'on rajoute apres avec une interface pour modifier les données). J'arrive à exporter les données à la suite mais certains champs sont des formules et le soucis c'est que les recordset récupère les valeurs et non les formules.
 
C

Compte Supprimé 979

Guest
Re : Recopier des formules dans classeur fermé

Re,

Ok d'accord, je comprends un peu mieux

A part transformer tes formules en texte avant transfert je ne vois pas comment tu peux faire

j'ai donc opté pour excel mais avec une réglementation stricte et les données doivent être modifiables par plusieurs personnes en même temps donc sans ouvrir le fichier

J'ai peur que ça coince à ce niveau à un moment donné...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 145
Messages
2 085 759
Membres
102 965
dernier inscrit
Mael44