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,

    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
    1. Effectivement,

      Merci beaucoup,
      0
      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