VBA Incompatibilité de type

Bonjour à toutes et tous,

J'ai une macro qui marche parfaitement bien (fichier ci-joint) mais mon dernier module "RapproComplément" m'indique une erreur d'incompatibilité de type que je ne parviens à résoudre.

La fonction dont vous avez le code ci-dessous me permet de faire la somme de montant d'un onglet et de l'inscrire sur l'autre onglet en rajoutant. Or j'ai un problème au lancement de celle-ci car la fonction "CalculerDerniereLigne" (second code) m'affiche une incompatibilité de type mais malgré plusieurs recherches je ne comprends pas d'où cela provient.

Si vous pouviez m'aider à résoudre mon problème cela serait super appréciable.

Function CalculSommePaiement()
    Dim NbLignes As Long
    Dim DébutLigne As String
    Dim ligneBanqueDebut As Long
    Dim ligneBanqueFin As Long
    Dim i As Long

    Call TrierLignesRésoBanq2

    NbLignes = ThisWorkbook.Sheets("RésoBanq").Cells(Rows.Count, 16).End(xlUp).Row
    ligneBanqueDebut = 2
    While ligneBanqueDebut < NbLignes
        DébutLigne = ThisWorkbook.Sheets("RésoBanq").Cells(ligneBanqueDebut, 16).Value
        ligneBanqueFin = CalculerDerniereLigne(DébutLigne, ligneBanqueDebut)
            For i = ligneBanqueDebut To ligneBanqueFin
                ThisWorkbook.Sheets("Banque").Range("G" & DébutLigne).Value = Format(Application.WorksheetFunction.Sum(Range("F" & ligneBanqueDebut & ":F" & ligneBanqueFin)), "0.00")
            Next i
    ligneBanqueDebut = ligneBanqueFin + 1
    Wend

    Sheets("Banque").Select
    Range("G2:G10000").Select
    Selection.TextToColumns Destination:=Range("G2"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

    Call Commentaire
    Call TrierLignesRésoBanq

End Function
Function CalculerDerniereLigne(DébutLigne As String, ligneBanqueDebut As Long) As Long 'calcul la dernière ligne du fichier RésoBanq
    Dim i As Long
    Dim NbLignes As Long
    Dim ligneFin As Long

    NbLignes = ThisWorkbook.Sheets("RésoBanq").Cells(Rows.Count, 16).End(xlUp).Row
    For i = DébutLigne To NbLignes
        If (InStr(1, DébutLigne, ThisWorkbook.Sheets("RésoBanq").Cells(i, 16).Value) > 0) Then
            ligneFin = i
        End If
    Next i
  CalculerDerniereLigne = ligneFin
End Function

Je vous joins également le fichier qui sera sûrement plus facile à comprendre que mes explications du dessus.

Encore merci pour votre temps et votre aide.

12macro-test.zip (744.01 Ko)

Bonjour

Pas certain d'avoir compris mais:

For i = DébutLigne To NbLignes

n'est pas compatible avec

DébutLigne As String

Cordialement

Bonjour Efgé,

Désolé de ne répondre que maintenant, je n'ai pas pu me poser sur le sujet avant.

Merci de t'y être penché dessus, après avoir fait la judicieuse modification que tu m'as proposé, j'ai une incompatibilité de type au niveau de mon "DébutLigne", sur le code ci-dessous car mon "ligneBanqueDebut" que je défini à 2 ce retrouve à 1, je ne sais comment.

Function CalculSommePaiement()
    Dim NbLignes As Long
    Dim DébutLigne As Long
    Dim ligneBanqueDebut As Long
    Dim ligneBanqueFin As Long
    Dim i As Long

    Call TrierLignesRésoBanq2

    NbLignes = ThisWorkbook.Sheets("RésoBanq").Cells(Rows.Count, 16).End(xlUp).Row
    ligneBanqueDebut = 2
    While ligneBanqueDebut < NbLignes
        DébutLigne = ThisWorkbook.Sheets("RésoBanq").Cells(ligneBanqueDebut, 16).Value
        ligneBanqueFin = CalculerDerniereLigne(DébutLigne, ligneBanqueDebut)
            For i = ligneBanqueDebut To ligneBanqueFin
                ThisWorkbook.Sheets("Banque").Range("G" & DébutLigne).Value = Format(Application.WorksheetFunction.Sum(Range("F" & ligneBanqueDebut & ":F" & ligneBanqueFin)), "0.00")
            Next i
    ligneBanqueDebut = ligneBanqueFin + 1
    Wend

Je joins également ma macro avec des fichiers qui ont fonctionné afin que mes premières explications soient plus claires.

8macro-test-2.zip (762.28 Ko)

Cordialement

Rechercher des sujets similaires à "vba incompatibilite type"