Fonction "SI " et "GAUCHE" dans VBA

Bonsoir chers tous ,

depuis plusieurs heure je suis planté a inserer une fonction "si" et "gauche" dans un code VBA .

en effet je veux inserer une fonction "si" dans un code qui insere deux ligne (dessus et dessous) et recopie des données

voici le code:

Sub InsererLignes()
    Dim dl As Integer, i As Integer, j As Integer

    With Sheets("Feuil1")
        'insérer lignes vides''''
       dl = Cells(Rows.Count, 1).End(xlUp).Row
        For i = dl To 2 Step -1
            Rows(i).Insert
            Rows(i + 1).Insert
        Next i

        'recopie les valeurs
       dl = .Range("A" & Rows.Count).End(xlUp).Row

        For j = 4 To dl Step 3
            Rows(j).Font.Bold = True    'met ligne en gras
           'ligne du dessus
           .Cells(j - 1, 1) = .Cells(j, 1).Value           'nopiece
           .Cells(j - 1, 2) = "" '.Cells(j, 2).Value       'compte
           .Cells(j - 1, 3) = .Cells(j, 3).Value           'codejournee
           .Cells(j - 1, 4) = .Cells(j, 4).Value           'date
           .Cells(j - 1, 5) = ""    'cells(j, 5).Value     'debit
           .Cells(j - 1, 6) = .Cells(j, 5).Value           'credit
           .Cells(j - 1, 7) = .Cells(j, 7).Value           'libellé
           .Cells(j - 1, 9) = ""     'cells(j,9).Value     'plan analytique
           .Cells(j - 1, 10) = ""    'cells(j,10).Value    'section analutique
           .Cells(j - 1, 11) = .Cells(j, 11).Value         'type
           'ligne du dessous
           .Cells(j + 1, 1) = .Cells(j, 1).Value
            .Cells(j + 1, 2) = .Cells(j, 2).Value
            .Cells(j + 1, 3) = .Cells(j, 3).Value
            .Cells(j + 1, 4) = .Cells(j, 4).Value
            [color=#FF0000].Cells(j + 1, 5) = ""    '.Cells(j, 5).Value[/color]
          [color=#FF0000] .Cells(j + 1, 6) = ""  'Cells(j, 6).Value[/color]
           .Cells(j + 1, 7) = .Cells(j, 7).Value
            .Cells(j + 1, 9) = .Cells(j, 9).Value
            .Cells(j + 1, 10) = .Cells(j, 10).Value
            .Cells(j + 1, 11) = "A"    'Cells(j, 10).Value
           '
           ''effacer colonne J site
           .Cells(j, 10) = ""
        Next j
        'supprimer 2ème ligne
       .Rows(2).Delete
        '
           ''effacer colonne J site
           .Cells(j, 9) = ""

        'supprimer 2ème ligne
       .Rows(2).Delete

    End With
End Sub

catho

la fonction si doit etre inserer au niveau des recopie des valeur dans la ligne(colonne debit et credit) inserée en dessous (ligne rouge dans le code) et selon les conditions suivante :

si le premier chiffre(gauche(Bi;1) de la cellule compte de la meme ligne est a inferieurs a 6 alors "0" sinon copier la valeur de la cellule au dessus.

cette condition doit etre ajouter dans les deux ligne en rouge dans le code.

voir aussi le fichier si joint et le code pour mieux comprendre

merci davance atous

Cordialement

34test-spoke-3.xlsm (26.14 Ko)

Bonjour,

Une explication ci-dessous :

If CInt(Left("La cellule à copier", 1)) < 6 Then "Ton autre cellule" = 0 Else "Ton autre cellule" = "La cellule à copier"
Rechercher des sujets similaires à "fonction gauche vba"