Déclaration variable mode explicit

Bonjour,

je tente de passer mon code en mode explicite pour m'assurer des déclarations de mes variables

bien évidemment je ne suis pas encore très doué la dedans et aurais donc besoin de votre aide pour ces trois variables:

Comment dois je déclarer cela? j'ai tenté range ou meme string mais cela bloque plus loin lors UBound(tabloPa, 1)

  tabloPa = fa.Range("C1:C" & fa.Range("C" & Rows.Count).End(xlUp).row)
    tabloPC = fa.Range("N1:N" & UBound(tabloPa, 1))

    tabloR = fr.Range("A5:F" & fr.Range("F" & Rows.Count).End(xlUp).row)

merci à vous

bonne journée

Bonjour,

Comme ceci

Dim tablopa()

Cordialement

Edit : ensuite mettre ceci -->

tabloPa = fa.Range("C1:C" & fa.Range("C" & Rows.Count).End(xlUp).row).value

merci à vous Dan mais je continue a avoir des soucis d'incompatibilités de type (erreur 13)

Dim tablopa()
Dim tabloPC()
Dim TabloR()

  tablopa = fa.Range("C1:C" & fa.Range("C" & Rows.Count).End(xlUp).row).Value
    tabloPC = fa.Range("N1:N" & UBound(tablopa, 1))

    TabloR = fr.Range("A5:F" & fr.Range("F" & Rows.Count).End(xlUp).row)

Sur quelle ligne s'arrête le code ?

Un fichier serait mieux pour analyser... Possible cela ?

bah justement sur tablopa

et difficile car macro en milieu de plein d'autres et basé sur plusieurs fichiers

mais voila le début de la macro en question.

Sub VerifCommentaires()
Dim fa As Worksheet
Dim fr As Workbook
Dim tablopa()

Dim iP, ir, Rep As Integer

    Set fa = Worksheets("Projects")

         Set fr = Workbooks.Open("\\Nas-01\CCE\OFFICE\Reports&Comments.xlsm")
          Set fr = Workbooks("Reports&Comments.xlsm").Sheets("Feuil1")

  tablopa = fa.Range("C1:C" & fa.Range("C" & Rows.Count).End(xlUp).row).Value
    tabloPC = fa.Range("N1:N" & UBound(tablopa, 1))

    TabloR = fr.Range("A5:F" & fr.Range("F" & Rows.Count).End(xlUp).row)

    For iP = 2 To UBound(tablopa, 1)
        For ir = 1 To UBound(TabloR, 1)
            If TabloR(ir, 2) = tablopa(iP, 1) Then

Bizarre cela devrait être bon si c'est bien sur cette ligne que vous avez le souci

Essayez en changeant cette ligne -->

tablopa = fa.Range("C1:C" & fa.Range("C" & fa.Rows.Count).End(xlUp).row).Value

hélas non mais voici la macro en entier si jamais cela peut être utile

merci à vous en tout cas

Sub VerifCommentaires()
Dim fa As Worksheet
Dim fr As Workbook
Dim tablopa()

Dim iP, ir, Rep As Integer

    Set fa = Worksheets("Projects")

         Set fr = Workbooks.Open("\\Nas-01\CCE\OFFICE\Reports&Comments.xlsm")
          Set fr = Workbooks("Reports&Comments.xlsm").Sheets("Feuil1")

    tablopa = fa.Range("C1:C" & fa.Range("C" & Rows.Count).End(xlUp).row)
    tabloPc = fa.Range("N1:N" & UBound(tablopa, 1))

    TabloR = fr.Range("A5:F" & fr.Range("F" & Rows.Count).End(xlUp).row)

    For iP = 2 To UBound(tablopa, 1)
        For ir = 1 To UBound(TabloR, 1)
            If TabloR(ir, 2) = tablopa(iP, 1) Then

                If TabloR(ir, 6) <> "" Then
                    If tabloPc(iP, 1) = "" Then
                        Rep = MsgBox("Pour Acronyme: " & tablopa(iP, 1) & ", il n'y a pas de " & _
                                " commentaire sur le fichier Projet alors que sur fichier " & _
                                " rapport, il est :" & Chr(13) & "'' " & TabloR(ir, 6) & " ''" & Chr(13) & _
                                "Voulez-vous le réporter sur la base de donnée ?", 20)

                        If Rep = 6 Then 'oui
                            tabloPc(iP, 1) = TabloR(ir, 6)
                        End If
                    ElseIf tabloPc(iP, 1) <> TabloR(ir, 6) Then
                        Rep = MsgBox("Pour Acronyme: " & tablopa(iP, 1) & ", sur le fichier " & _
                                "Projet on a le commentaire :" & Chr(13) & "'' " & tabloPc(iP, 1) & _
                                " ''" & Chr(13) & " alors que sur le fichier Rapport on a :" & Chr(13) & _
                                "'' " & TabloR(ir, 6) & " ''" & Chr(13) & "Voulez-vous réporter sur la base de donnée " & _
                                "sur la base de donnée?", 20)
                        If Rep = 6 Then 'oui
                            tabloPc(iP, 1) = TabloR(ir, 6)

                        End If
                    End If
                End If
            End If
        Next ir

    Next iP

    fa.Range("N1").Resize(UBound(tabloPc, 1), 1) = tabloPc
fa.Activate
Generate_Reports.Reports

Vous n'avez pas fait les corrections que j'ai postées..

Vu le code comme cela, si vous avez mis Option explicit juste avant Sub Commentaires, vous devriez avoir une erreur car la variable tablopc n'est pas déclarée

La macro se trouve dans le fichier contenant la feuille Projects ?

Ce serait bien d'avoir le fichier avec données bidons

Bonsoir

Cordialement

Rechercher des sujets similaires à "declaration variable mode explicit"