![]() |
|
Forum
|
|
|
#2 (permalink) |
|
XLDnaute Accro
Date d'inscription: février 2005
Localisation: Lixing les Rouhling
Version Excel : Excel 2003 (PC)
Messages: 1 436
|
Bonjour Omarjaval,
C'est tellement vague comme déscriptif de prob qu'on ne peut te donner aucune réponse valable (sauf celle-ci) Détaille un peu plus et plus explicitement ton prob à+ Bertrand
__________________
@+ ertrand
|
|
|
|
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
ok
par exemple j'ai 100 fichiers Excel contients les noms des stagiares dans un repertoir et j'ai un fichier XLS externe dans un autre repertoir comment je peu modifier un nom de stagiaire dans les 100 fichiers tout par fois a l'aide de le fichier externe |
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 714
|
bonsoir Omarjawal , bonsoir Mutzik
les fichiers ont il tous la meme structure ? si oui , peux tu placer sur le forum un exemple zippé ( sans donnees confidentielles , taille moins de 50ko , sans accentuation et sans caracteres speciaux ) pour mieux apréhender ta demande le nom du stagiaire est toujours dans la meme cellule ou faut il effectuer une recherche dans le classeur ? bonne soiree MichelXld Message édité par: MichelXld, à: 13/05/2005 22:21 |
|
|
|
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
ok
exemple plus detailler le problem c:\\mes fichiers\\defaultTSF.xls le fichier contient une userform contient une zone de texte et un bouton ce bouton contient le code qui perlet de copie le contenu de la zone de texte dans la celulle A1 des fichier suivants : c:\\MDB\\TSF1.xls c:\\MDB\\TSF2.xls . . . . . c:\\MDB\\TSF100.xls |
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 714
|
bonjour Omarjawalkey
j'espere que cette procedure pourra t'aider la macro boucle sur les classeurs nommés TSF' & i & '.xls (de 1 à 100 ) dans le repertoire 'C : \\ MDB ' . chaque classeur doit contenir une feuille nommée 'Feuil1' pour pouvoir y insérer ( dans la cellule A1 ) le texte saisi dans le TextBox1 Code:
Private Sub CommandButton1_Click()
'necessite d'activer la reference Microsoft ActiveX DataObjects x.x Library
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String
Dim i As Byte
For i = 1 To 100 'boucle sur tous les classeurs
Fichier = 'C:\\MDB\\TSF' & i & '.xls' 'adapter le chemin des fichiers fermés
Set Cn = New ADODB.Connection
Cn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & Fichier & ';' & _
'Extended Properties=''Excel 8.0;HDR=No;'';'
Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
'la zone de Texte 'textBox1' va etre insérée dans la cellule A1 de la 'Feuil1'
Cd.CommandText = 'SELECT * from `Feuil1$A1:A1`'
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
Rst(0).Value = TextBox1.Value
Rst.Update
Cn.Close
Next i
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
MsgBox 'opération terminée '
Unload Me
End Sub
bon week end MichelXld |
|
|
|
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
Salut Michel & Omarjaja,
Petite suggestion, si je puis me permettre. Ne pourrait-on pas rajouter ces quelques lignes qui donne comme réf le nom de la page et l'adresse de la cellule dans lesquelles on se trouve? MaFeuille = ActiveSheet.Name MaCellule = ActiveCell.Address(False, False) MaCellule2 = MaCellule & ':' & MaCellule MaRef = 'SELECT * from ' & MaFeuille & '$' & MaCellule2 'Ce qui donnerait après, à la bonne ligne: Cd.CommandText = MaRef évidemment, il manque les petites apostrophes, je ne sais pas si c'est important , il y a tellement de choses inutiles dans un code(?!), enfin, je ne sais pas exactement comment les rajouter... mais tu sauras certainement rattraper mon ignorance... ![]() |
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|