Problèmes de Range, tentative de boucle entre 2 fichiers

Bonjour
Après mes 3 premiers jours de codage je suis encore novice en VBA mais je me soigne

Je souhaite exécuter une macro me permettant, depuis un fichier maitre avec tous mes compteurs, de consulter dans un fichier de relève avec seulement quelques compteurs la correspondance entre ces 2 fichiers des numéros de compteurs et lorsqu'un compteur est identique entre les 2 fichiers, récupérer la valeur du relevé dans la colonne "RELEVE" du fichier de relève et la mettre dans la colonne "MOIS" du fichier des index (le fichier maitre)

J'ai opéré plusieurs tentatives mais toutes échouent lors de ma condition "If"

Vous constaterez dans le code toutes les différentes tentatives effectuées... Et les différents messages d'erreurs associés.
Je cale.

Petit coup de main ?

Précision : lorsque je fais appel à ma variable "MOIS" cela peut correspondre à plusieurs choses nommées de la même façon dans un esprit de simplicité. A savoir :
- Les worksheets du fichier de relève
- L'objet tableau dans ce Worksheet
- Le nom de la colonne de l'objet tableau du fichier maître

'Workbooks.Open Filename:= _
        "S:\DSTG\STL\SAG\LOT3_EAU\2023\03_EXPLOITATION ET MAINTENANCE\6_Relevé mensuel_compteurs\TEST µ\Stock Fichiers de Relève\Relève des compteurs à Intégrer.xlsx"
    'Worksheets(MOIS).Activate

' Ignorer les erreurs

'On Error Resume Next

Dim MOIS As String
MOIS = MonthName(Month(Date))
MOIS1 = MonthName(Month(Date) - 1)

Dim Wbk_Index As Workbook
Set Wbk_Index = Workbooks("2023_Index Compteurs Annuel - Copie.xlsm")

Dim Ws_Index As Worksheet
Set Ws_Index = Wbk_Index.Worksheets("Relevés Compteurs")

Dim NumComptIndex As Range
Set NumComptIndex = Ws_Index.ListObjects("Index_Compteurs").ListColumns("N° COMPTEUR PHYSIQUE").Range

Dim IndexMois As Range
Set IndexMois = Ws_Index.ListObjects("Index_Compteurs").ListColumns(MOIS).Range

Dim Wbk_Releve As Workbook
Set Wbk_Releve = Workbooks("Relève des Compteurs à intégrer.xlsx")
'Set Wbk_Releve = Application.Workbooks.Open("S:\DSTG\STL\SAG\LOT3_EAU\2023\03_EXPLOITATION ET MAINTENANCE\6_Relevé mensuel_compteurs\TEST µ\Stock Fichiers de Relève\Relève des compteurs à Intégrer.xlsx")

Dim Ws_Releve As Worksheet
Set Ws_Releve = Wbk_Releve.Worksheets(MOIS)

Dim NumComptReleve As Range
'Set NumComptReleve = Ws_Releve.Cells("C2:C").SpecialCells(xlConstants)
'Set NumComptReleve = Ws_Releve.Cells(Rows.Count, 3).End(xlUp).Row
Set NumComptReleve = Ws_Releve.ListObjects(MOIS).ListColumns("N° COMPTEUR PHYSIQUE").Range

Dim IndexReleve As Range
'Set IndexReleve = Ws_Releve.Cells("E2:E").SpecialCells(xlConstants)
'Set IndexReleve = Ws_Releve.Cells(Rows.Count, 5).End(xlUp).Row
Set IndexReleve = Ws_Releve.ListObjects(MOIS).ListColumns("RELEVE").Range

For Each NumComptReleve In NumComptIndex

    'If NumComptReleve.Cells.Value = NumComptIndex.Cells.Value Then _

'Argument ou appel de procédure incorrecte
    'If Ws_Releve.Cells(NumComptReleve).Value = Ws_Index.Cells(NumComptIndex).Value Then _

'la méthode range de l'objet _Worksheet a échoué
    If Ws_Releve.Range(NumComptReleve).Value = Ws_Index.Range(NumComptIndex).Value Then _

'la méthode range de l'objet _global a échoué
    'If Ws_Releve.Cells(Range(NumComptReleve)).Value = Ws_Index.Cells(Range(NumComptIndex)).Value Then _

        Ws_Index.Cells(IndexMois).Value = Ws_Releve.Cells(IndexReleve).Value

    End If

Next

Bonjour petit nouveau et

Malheureusement, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] et notamment :

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

Merci de clôturer sur l'une des 2 forums SVP

Et merci de votre compréhension et de votre participation

Rechercher des sujets similaires à "problemes range tentative boucle entre fichiers"