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

  • Votes
  • Date
  • Date décroissante
  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]
    
    
    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+