VBA recuperation de donnes dans plusieurs onglets

Bonjour a tous,

Nouveau sur ce forum, je me permets de soliciter votre aide.

Je souhaite copier des donnees dans un tableau situe en onglet 1. Les donnes sources sont situees elles dans d'autres onglets dans le meme workbook.

j'ai un debut de code, cela ne fonctionne pas, j'ai beau chercher, impossible de trouver mon erreur.

Merci pour votre aide

Cdlt

Sub Macro1() 'plusieurs onglets sources

Dim cd As Workbook
Dim cs As Workbook
Dim od As Object 'déclare la variable od (Onglet de Destination)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Dim ac As String 'déclare la variable ac (AC)
Dim ru As String 'déclare la variable ru (RU)
Dim li As Byte 'déclare la variable li (LIgne)
Dim col As Byte 'déclare la variable col (COLonne)

Application.ScreenUpdating = False
Set cd = ThisWorkbook
Set od = cd.Sheets("Sheet1")
For Each cel In od.Range("C4:E9")
    ac = od.Cells(cel.Row, 2).Value
    ru = od.Cells(3, cel.Column)
    Set cs = ActiveWorkbook
    Set os = cs.Sheets("Sheet2")
    Set r = os.Range("Sheet2!B4:B30").Find(ac, , xlValues, xlWhole)
    If Not r Is Nothing Then li = r.Row Else MsgBox "AC CANT BE FOUND": Exit Sub
    Set cs = ActiveWorkbook
    Set os = cs.Sheets("Sheet2")
    Set r = os.Range("Sheet2!C3:I3").Find(ru, , xlValues, xlWhole)
    If Not r Is Nothing Then col = r.Column Else MsgBox "RU CANT BE FOUND": Exit Sub
    cel.Value = od.Cells(li, col).Value
Next cel
Application.ScreenUpdating = True
End Sub

Bonjour

A tester

Merci beaucoup Banzai64,

Code beaucoup plus simple et plus efficace

Si mes donnees sources sont dans plusieurs onglets dois-je juste repeter le code, ou comment puis-je definir plusieurs onglets sources des le debut?

Set WsSource = Sheets("Sheet2", "Sheet3", "Sheet4") ?

Encore un grand merci pour votre aide

Cdlt

Bonjour

Cela devient compliqué

Car il faudra faire une recherche de AC sur plusieurs feuilles (les unes à la suite des autres) et dans cette feuille récupérer le RU

C'est faisable (je pense)

Prépares un fichier avec plusieurs tableaux dans plusieurs onglets sources

Impératif :

les tableaux doivent toujours avoir la même structure (colonne/ligne de départ identiques)

Un seul AC dans toutes les pages sources

A suivre

Ci-joint le tableau

Merci pour votre aide

Cdlt

Bonsoir

A vérifier si les résultats sont corrects

Parfait,

Merci bcp

Bonne soiree a vous a Jurancon, mon apres midi commence ici

Rechercher des sujets similaires à "vba recuperation donnes onglets"