Remplir une colonne en fonction des valeurs d'une autre colonne

JZAB

XLDnaute Nouveau
Bonjour,

je débute avec VBA et j'ai une question concernant les boucles.

je voudrais simplifier le code ci-dessous :

(je n'ai mis que la partie concernée)

If numero1 > strike Then
Sheets("Feuil2").Range("C8").Value = numero1 - Points
Else
Sheets("Feuil2").Range("C8").Value = strike - Points
End If
If numero2 > strike Then
Sheets("Feuil2").Range("C9").Value = numero2 - Points
Else
Sheets("Feuil2").Range("C9").Value = strike - Points
End If
If numero3 > strike Then
Sheets("Feuil2").Range("C10").Value = numero3 - Points
Else
Sheets("Feuil2").Range("C10").Value = strike - Points
End If
If numero4 > strike Then
Sheets("Feuil2").Range("C11").Value = numero4 - Points
Else
Sheets("Feuil2").Range("C11").Value = strike - Points
End If
If numero5 > strike Then
Sheets("Feuil2").Range("C12").Value = numero5 - Points
Else
Sheets("Feuil2").Range("C12").Value = strike - Points
End If
If numero6 > strike Then
Sheets("Feuil2").Range("C13").Value = numero6 - Points
Else
Sheets("Feuil2").Range("C13").Value = strike - Points
End If
If numero7 > strike Then
Sheets("Feuil2").Range("C14").Value = numero7 - Points
Else
Sheets("Feuil2").Range("C14").Value = strike - Points
End If
If numero8 > strike Then
Sheets("Feuil2").Range("C15").Value = numero8 - Points
Else
Sheets("Feuil2").Range("C15").Value = strike - Points
End If
If numero9 > strike Then
Sheets("Feuil2").Range("C16").Value = numero9 - Points
Else
Sheets("Feuil2").Range("C16").Value = strike - Points
End If
If numero10 > strike Then
Sheets("Feuil2").Range("C17").Value = numero10 - Points
Else
Sheets("Feuil2").Range("C17").Value = strike - Points
End If
If numero11 > strike Then
Sheets("Feuil2").Range("C18").Value = numero11 - Points
Else
Sheets("Feuil2").Range("C18").Value = strike - Points
End If
If numero12 > strike Then
Sheets("Feuil2").Range("C19").Value = numero12 - Points
Else
Sheets("Feuil2").Range("C19").Value = strike - Points
End If
If numero13 > strike Then
Sheets("Feuil2").Range("C20").Value = numero13 - Points
Else
Sheets("Feuil2").Range("C20").Value = strike - Points
End If
If numero14 > strike Then
Sheets("Feuil2").Range("C21").Value = numero14 - Points
Else
Sheets("Feuil2").Range("C21").Value = strike - Points
End If
If numero15 > strike Then
Sheets("Feuil2").Range("C22").Value = numero15 - Points
Else
Sheets("Feuil2").Range("C22").Value = strike - Points

Merci de votre aide.
End If
 

Pierrot93

XLDnaute Barbatruc
Re : Remplir une colonne en fonction des valeurs d'une autre colonne

Re,

ce sont donc des variables en l'état ? comment sont elles initialisées ? peut être mettre un petit fichier avec ce que tu as et résultats attendus.... pas facile de t'aider avec un petit bout de code jeté sur un post....
 

JZAB

XLDnaute Nouveau
Re : Remplir une colonne en fonction des valeurs d'une autre colonne

Je m'en doutais un peu :rolleyes:...

j'ai mis en pièce jointe la partie du code qui m'interesse.

Merci pour ton aide en tout cas.
 

Pièces jointes

  • TEST.xls
    27 KB · Affichages: 43
  • TEST.xls
    27 KB · Affichages: 49
  • TEST.xls
    27 KB · Affichages: 47

Pierrot93

XLDnaute Barbatruc
Re : Remplir une colonne en fonction des valeurs d'une autre colonne

Re,

regarde ceci :
Code:
Dim t As Variant, i As Byte
t = Application.Transpose(Sheets("NomFeuille1").Range("B8:B22"))
With Sheets("NomFeuille2")
    For i = 1 To 15
        If t(i) > strike Then
            .Cells(i + 7, 3).Value = t(i) - Points
        Else
            .Cells(i + 7, 3).Value = strike - Points
        End If
    Next i
End With

A adapter à ton projet.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35