Récupération de données
Le
Papounet26
Bonjour à tous,
Sur Excel 2003.
J'ai un fichier de saisie contenant certaines données confidentielles et
d'autres non. Je souhaite créé un fichier qui puisse récupérer les données
non confidentielles et sur lequel je pourrait, simplement à l'aide d'une
macro, faire une mise à jour. Les deux fichiers se trouvent sur deux serveurs
différents.
Exemple :
Dans le fichier source, si la cellule A2 contient "Toto", je souhaite
renvoyer dans des cellules du fichier cible les valeurs de la cellule A1,
celle de la cellule D1, puis celle de la cellule J1.
Sachant que les lignes contenant "Toto" ne sont pas adjacentes et que les
cellules à renvoyées ne le sont pas non plus, est-ce possible de récupérer
ces données dans le fichier cible, sur des lignes et colonnes adjacentes ?
D'avance merci pour votre aide.
Papounet26
Sur Excel 2003.
J'ai un fichier de saisie contenant certaines données confidentielles et
d'autres non. Je souhaite créé un fichier qui puisse récupérer les données
non confidentielles et sur lequel je pourrait, simplement à l'aide d'une
macro, faire une mise à jour. Les deux fichiers se trouvent sur deux serveurs
différents.
Exemple :
Dans le fichier source, si la cellule A2 contient "Toto", je souhaite
renvoyer dans des cellules du fichier cible les valeurs de la cellule A1,
celle de la cellule D1, puis celle de la cellule J1.
Sachant que les lignes contenant "Toto" ne sont pas adjacentes et que les
cellules à renvoyées ne le sont pas non plus, est-ce possible de récupérer
ces données dans le fichier cible, sur des lignes et colonnes adjacentes ?
D'avance merci pour votre aide.
Papounet26

Poser une question


Tes cellules "toto" sont toutes en colonne A ou n'importe où ?
Cordialement.
Daniel
"Papounet26" de news:
Effectivement, mes cellules "Toto" sont toujours dans la même colonne.
Est-ce que cela facilite la tâche ?
Papounet26
J'apporte une petite correction.
En fait les cellules "Toto" sont toujours en colonne B (et non pas A) et je
souhaite récupérer des données situées en colonne A,D et J de la même ligne.
Milles excuses pour cette petite erreur.
Papounet26
Sub test()
' les classeurs Source.xls et Cible.xls sont ouverts
' la macro est dans Source.xls
Dim c As Range, Adr As String, Ligne As Long
Ligne = 1
Set c = Range("B:B").Find("toto", , , xlWhole)
Adr = c.Address
Do While Not c Is Nothing
Workbooks("Cible.xls").Sheets("Feuil1").Cells(Ligne, 1) = _
c.Offset(0, -1).Value
Workbooks("Cible.xls").Sheets("Feuil1").Cells(Ligne, 2) = _
c.Offset(0, 2).Value
Workbooks("Cible.xls").Sheets("Feuil1").Cells(Ligne, 3) = _
c.Offset(0, 8).Value
Ligne = Ligne + 1
Set c = Range("B:B").FindNext(c)
If c.Address = Adr Then Exit Sub
Loop
End Sub
Daniel
"Papounet26" de news:
Entre temps, j'ai modifié mon fichier source. J'ai donc apporté les modifs
suivantes au code. Mes données "Toto" s'appelle en réalité "ATA" et se
trouvent maintenant en colonne C. Mon classeur cible se nomme "Tableau de
suivi des interventions" et la feuille des données source se nomme "Saisie".
Lorsque j'execute la macro, j'ai le message suivant : "L"indice n'appartient
pas à la sélection"
Sub test()
' les classeurs Source.xls et Cible.xls sont ouverts
' la macro est dans Source.xls
Dim c As Range, Adr As String, Ligne As Long
Ligne = 1
Set c = Range("C:C").Find("ATA", , , xlWhole)
Adr = c.Address
Do While Not c Is Nothing
Workbooks("Tableau de suivi des
interventions.xls").Sheets("Saisie").Cells(Ligne, 1) = _
c.Offset(0, -2).Value
Workbooks("Tableau de suivi des
interventions.xls").Sheets("Saisie").Cells(Ligne, 2) = _
c.Offset(0, 1).Value
Workbooks("Tableau de suivi des
interventions.xls").Sheets("Saisie").Cells(Ligne, 3) = _
c.Offset(0, 7).Value
Ligne = Ligne + 1
Set c = Range("C:C").FindNext(c)
If c.Address = Adr Then Exit Sub
Loop
End Sub