OVH Cloud OVH Cloud

Ecrire dans classeur fermé ?

8 réponses
Avatar
EliotNaiss
Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot

8 réponses

Avatar
R1
"EliotNaiss" a écrit dans le message de
news:
Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur

X, reporter le contenu d'une zone (de taille variable) dans un classeur Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot


si je comprends bien, tu souhaites écrire en A1 dans un classeur en lecture
seule? Ca risque de coincer, à moins que la lecture seule soit gérée par
Excel et que tu puisses transmettre le mdp (si c'est lecture seule par l'OS,
impossible).
R1

Avatar
JB
Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot


Avatar
EliotNaiss
merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes !,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot


Avatar
JB
Voir PJ: http://cjoint.com/?kcw7cHrSaa

-Installer les 2 fichiers dans le même répertoire.
-Il faut nommer (en statique seulement) la BD (y compris) les titres
-Insert permet d'ajouter une ligne dans la BD (le nom de champ est mis
à jour)

Pour une BD à 2 colonnes.

Sql = "INSERT INTO Maliste (Nom,service) VALUES('toto','Ventes')"

JB



merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes !,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d' un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot




Avatar
EliotNaiss
Merci de ta patience, mais je ne comprend pas !...
Avec la ligne : Sql = "INSERT INTO Maliste (Nom,service)
VALUES('toto','Ventes')"
les values sont connues ???
Dans mon cas, le tableau de référence peut aller de 6 à 20 lignes !
La routine est sensée alimenter la totalité dans l'autre feuille ?
Eliot
"JB" a écrit dans le message de news:

Voir PJ: http://cjoint.com/?kcw7cHrSaa

-Installer les 2 fichiers dans le même répertoire.
-Il faut nommer (en statique seulement) la BD (y compris) les titres
-Insert permet d'ajouter une ligne dans la BD (le nom de champ est mis
à jour)

Pour une BD à 2 colonnes.

Sql = "INSERT INTO Maliste (Nom,service) VALUES('toto','Ventes')"

JB



merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes
!,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur
Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot




Avatar
EliotNaiss
http://cjoint.com/?kcxRA0tVYN
un classeur origine et un destination, pour mieux comprendre ou je veux en
venir.
merci
"JB" a écrit dans le message de news:

Voir PJ: http://cjoint.com/?kcw7cHrSaa

-Installer les 2 fichiers dans le même répertoire.
-Il faut nommer (en statique seulement) la BD (y compris) les titres
-Insert permet d'ajouter une ligne dans la BD (le nom de champ est mis
à jour)

Pour une BD à 2 colonnes.

Sql = "INSERT INTO Maliste (Nom,service) VALUES('toto','Ventes')"

JB



merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes
!,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un classeur
Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot




Avatar
JB
http://cjoint.com/?kdhBC7IVnM

Sub ajout()
ChDir ActiveWorkbook.Path
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­ODestination.XLS;Extended Properties=Excel 8.0;"
For i = 1 To [BDorigine].Rows.Count - 1
Sql = "INSERT INTO BDDestination
(Nom,Prenom,age,DateNaissance,Ville)" _
& " Values('" & [Liste].Cells(i, 1) & "'," & _
"'" & [Liste].Cells(i, 2) & "'," & _
[Liste].Cells(i, 3) & "," & _
"#" & Format([Liste].Cells(i, 4), "mm/dd/yy") & "#," & _
"'" & [Liste].Cells(i, 5) & "')"
'MsgBox Sql
Cnn.Execute Sql
Next i
Cnn.Close
Set Cnn = Nothing
End Sub

Je n'ai pas pu utiliser: Insert Into Dest Select * From Source

JB


http://cjoint.com/?kcxRA0tVYN
un classeur origine et un destination, pour mieux comprendre ou je veux en
venir.
merci
"JB" a écrit dans le message de news:

Voir PJ: http://cjoint.com/?kcw7cHrSaa

-Installer les 2 fichiers dans le même répertoire.
-Il faut nommer (en statique seulement) la BD (y compris) les titres
-Insert permet d'ajouter une ligne dans la BD (le nom de champ est mis
à jour)

Pour une BD à 2 colonnes.

Sql = "INSERT INTO Maliste (Nom,service) VALUES('toto','Ventes')"

JB



merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes
!,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un classe ur
Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot






Avatar
EliotNaiss
bonjour et merci JB,
j'ai une erreur à Cnn.Execute Sql (impossible d'agrandir la plage nommée)
ca te dit qqchose ?
merci de ta patience.
Bonne journee
Cordialement
Eliot
"JB" a écrit dans le message de news:

http://cjoint.com/?kdhBC7IVnM

Sub ajout()
ChDir ActiveWorkbook.Path
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­ODestination.XLS;Extended Properties=Excel 8.0;"
For i = 1 To [BDorigine].Rows.Count - 1
Sql = "INSERT INTO BDDestination
(Nom,Prenom,age,DateNaissance,Ville)" _
& " Values('" & [Liste].Cells(i, 1) & "'," & _
"'" & [Liste].Cells(i, 2) & "'," & _
[Liste].Cells(i, 3) & "," & _
"#" & Format([Liste].Cells(i, 4), "mm/dd/yy") & "#," & _
"'" & [Liste].Cells(i, 5) & "')"
'MsgBox Sql
Cnn.Execute Sql
Next i
Cnn.Close
Set Cnn = Nothing
End Sub

Je n'ai pas pu utiliser: Insert Into Dest Select * From Source

JB


http://cjoint.com/?kcxRA0tVYN
un classeur origine et un destination, pour mieux comprendre ou je veux en
venir.
merci
"JB" a écrit dans le message de news:

Voir PJ: http://cjoint.com/?kcw7cHrSaa

-Installer les 2 fichiers dans le même répertoire.
-Il faut nommer (en statique seulement) la BD (y compris) les titres
-Insert permet d'ajouter une ligne dans la BD (le nom de champ est mis
à jour)

Pour une BD à 2 colonnes.

Sql = "INSERT INTO Maliste (Nom,service) VALUES('toto','Ventes')"

JB



merci JB, mais je ne comprend pas l'échange entre le classeur X et Y ?
Pour nommer le champ; mon tableau d'origine fait 7 colonnes sur x lignes
!,
je nomme tout le tableau ?
Qu'est-ce 'qqq' ?
Que de questions "bêtes" non ?

Eliot
"JB" a écrit dans le message de news:

Bonsoir,

Avec ADO:

Nommer le champ Maliste (avec le titre Service)

Service
Production
Compta
Ventes

' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library

Private Sub B_ajout_Click()
Set Cnn = New ADODB.Connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source­OExcel2.XLS;Extended Properties=Excel 8.0;"
Sql = "INSERT INTO Maliste (service) VALUES('qqq')"
Cnn.Execute Sql
Cnn.Close
Set Cnn = Nothing
End Sub

Cordialement JB


Bonjour,
en vue de faire un publipostage étiquettes, je désire à partir d'un
classeur
X, reporter le contenu d'une zone (de taille variable) dans un
classeur
Y,
dans la cellule A1, puis nommer la zone en "etikets".
Ce classeur Y sera en lecture seule.
Je pense reporter ces cellules classeur Y fermé, possible ?, erreur ?
Je pédale un peu ...
Merci d'un coup de main.
Eliot