Problème de boucle for

Résolu
Bonjour,

J'ai un problème avec une boucle for dans vba. Voici mon code
Dim cell As Range
Dim mntfact As Range
Dim mntpo As Range

Set mntfact = ActiveSheet.Range("K2:K5000")
Set mntpo = ActiveSheet.Range("D2:D5000")

For Each cell In mntfact
If cell.Value <> "" Then
mntpo.Value = mntfact.Value
Else

Exit For
End If
Next
End Sub

Voici ce que j'essaie de faire. J'ai deux colonnes à comparer (K et D) et j'aimerais que lorsque qu'il y a un montant d'inscrit dans la colonne K, le montant s'inscrive automatiquement dans la colonne D pour la cellule correspondante. Par contre, si une cellule de la colonne K est vide, je veux qu'il conserve le montant inscrit en D...

Lorsque je commence cette macro, il met effectivement les montants de la colonne K dans la colonne D, sauf qu'il efface les données de la colonne D pour les cellules qui sont vides de la colonne K.

Pouvez-vous me donner une piste svp,

Merci à l'avance,

3 réponses

  1. Bonjour,

    Essaie comme cela
    Dim cell As Range
    Dim mntfact As Range
    Set mntfact = ActiveSheet.Range("K2:K5000")
    For Each cell In mntfact
    If cell.Value <> "" Then
    cell.Offset(0, -7) = cell
    End If
    Next
    End Sub

    A+
    0
    1. Effectivement,

      Merci beaucoup,
      0
      1. Bonjour,

        je modifierais ton code comme suit :

        
        sub x
        
        dim i as variant
        
        for i = 2 to 5000
        
        If cells (i,11).Value <> "" Then
        cells(i,4)= cells(i,11)
        
        End If
        Next
        
        End [/contents/446-fichier-sub Sub]
        
        
        0