If Then sous excel jusqu'à 1ere cel vide
Nassimo
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je débute en macros excel et je rame sur les conditions if then.
J'ai un tableau sur lequel j'ai mis une condition qui fonctionne pour la première cellule et je voudrais qu'elle fonctionne sur toutes les cellules jusqu'à la 1ere cellule vide de la colonne D. Je me doute qu'il faut employer la fonction Next ou Go To ou un truc comme ça mais j'y arrive pô.
Voici mon code :
Sub essaiconditions()
ActiveSheet.Range("d3").Select
If ((Range("d3").Value < 5000) And (Range("b3").Value = 2) Or (Range("d3").Value >= 5000 And Range("d3").Value < 17500) And (Range("b3").Value = 2.25) Or (Range("d3").Value >= 17500) And (Range("b3").Value = 2.5)) Then
Range("e3").Value = True
Else
Range("e3").Value = False
End If
End Sub
Merci de votre patience avec les débutants.
N
Je débute en macros excel et je rame sur les conditions if then.
J'ai un tableau sur lequel j'ai mis une condition qui fonctionne pour la première cellule et je voudrais qu'elle fonctionne sur toutes les cellules jusqu'à la 1ere cellule vide de la colonne D. Je me doute qu'il faut employer la fonction Next ou Go To ou un truc comme ça mais j'y arrive pô.
Voici mon code :
Sub essaiconditions()
ActiveSheet.Range("d3").Select
If ((Range("d3").Value < 5000) And (Range("b3").Value = 2) Or (Range("d3").Value >= 5000 And Range("d3").Value < 17500) And (Range("b3").Value = 2.25) Or (Range("d3").Value >= 17500) And (Range("b3").Value = 2.5)) Then
Range("e3").Value = True
Else
Range("e3").Value = False
End If
End Sub
Merci de votre patience avec les débutants.
N
A voir également:
- If Then sous excel jusqu'à 1ere cel vide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Supprimer page word vide - Guide
- Si ou excel - Guide
- Excel différent de vide - Forum Excel
3 réponses
bonjour
Tu peux essayer ceci
Tu peux essayer ceci
Sub essaiconditions()
Dim l As Long
For l = 3 To Cells(1, 4).SpecialCells(xlLastCell).Row
If ((Cells(l, 4).Value < 5000) _
And (Cells(l, 2).Value = 2) _
Or (Cells(l, 4).Value >= 5000 _
And Cells(l, 4).Value < 17500) _
And (Cells(l, 2).Value = 2.25) _
Or (Cells(l, 4).Value >= 17500) _
And (Cells(l, 2).Value = 2.5)) Then
Cells(l, 5).Value = True
Else
Cells(l, 5).Value = False
End If
Next l
End Sub
Bonjour, Nassimo.
Voilà ta macro comme elle doit être pour lister, dans ce cas, les lignes 3 à 50.
Pour changer les lignes à balayer, remplaces les valeurs de Ligne.
Cela devrait te convenir.
Amicalement,
JM
Sub essaiconditions()
Ligne = 3
For Ligne = 3 To 50
ActiveSheet.Range("d3").Select
If ((Cells(Ligne, 4).Value < 5000) And (Cells(Ligne, 2).Value = 2) Or (Cells(Ligne, 4).Value >= 5000 And Cells(Ligne, 4).Value < 17500) And (Cells(Ligne, 2).Value = 2.25) Or (Cells(Ligne, 4).Value >= 17500) And (Cells(Ligne, 2).Value = 2.5)) Then
Cells(Ligne, 5).Value = True
Else
Cells(Ligne, 5).Value = False
End If
Next
End Sub
Voilà ta macro comme elle doit être pour lister, dans ce cas, les lignes 3 à 50.
Pour changer les lignes à balayer, remplaces les valeurs de Ligne.
Cela devrait te convenir.
Amicalement,
JM
Sub essaiconditions()
Ligne = 3
For Ligne = 3 To 50
ActiveSheet.Range("d3").Select
If ((Cells(Ligne, 4).Value < 5000) And (Cells(Ligne, 2).Value = 2) Or (Cells(Ligne, 4).Value >= 5000 And Cells(Ligne, 4).Value < 17500) And (Cells(Ligne, 2).Value = 2.25) Or (Cells(Ligne, 4).Value >= 17500) And (Cells(Ligne, 2).Value = 2.5)) Then
Cells(Ligne, 5).Value = True
Else
Cells(Ligne, 5).Value = False
End If
Next
End Sub
bonjour
Maintenant il faut que je comprenne.
Ca viendra.
Pas de souci tout le monde a commencé un jour ou l'autre.
La variable l représente la ligne et elle s'incrémente avec "next" pour parcourir l'ensemble de la feuille.
J'ai utilisé "Cells(l, 4)" avec comme paramètres ligne , colonne qui sont simples à comprendre.
Cells(1, 4).SpecialCells(xlLastCell).Row permet de trouver la dernière ligne utilisée de cette colonne
Maintenant il faut que je comprenne.
Ca viendra.
Pas de souci tout le monde a commencé un jour ou l'autre.
La variable l représente la ligne et elle s'incrémente avec "next" pour parcourir l'ensemble de la feuille.
J'ai utilisé "Cells(l, 4)" avec comme paramètres ligne , colonne qui sont simples à comprendre.
Cells(1, 4).SpecialCells(xlLastCell).Row permet de trouver la dernière ligne utilisée de cette colonne
Magnifique.
Merci.
Merci.
Merci.
Maintenant il faut que je comprenne.
Ca viendra.
Encore merci.