Bonjour
Svp j'ai besoin de savoir comment on peut définir un variable par une condition if lorsqu'elle se vérifier.
J'aimerai que le Variable me donne le numéro de la dernière ligne qui vérifier la condition .
aidez moi svp merci d'avance
Version imprimable
Bonjour
Svp j'ai besoin de savoir comment on peut définir un variable par une condition if lorsqu'elle se vérifier.
J'aimerai que le Variable me donne le numéro de la dernière ligne qui vérifier la condition .
aidez moi svp merci d'avance
Bonjour,
Je n'ai pas vraiment compris ta demande, que cherche tu à faire exactement ?
Par exemple, si tu as une colonne dans laquelle se trouvent des nombres croissants et que tu veux trouver la ligne à partir de laquelle le nombre est supérieur à 10 tu peux faire quelque chose du genre :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Recherche_valeur() Dim i As Integer Dim var As Byte var = 10 Do i = i + 1 Loop While Cells(i, 1) < var MsgBox (i) End Sub
bonjour HIMBAK, flav_cm bonjour tout le monde
si tu cherche l'adresse via un textbox adapte ça
Code:
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub CommandButton1_Click() Dim plage As Range Set plage = Sheets("Feuil1").Range("A2:A" & [A65536].End(xlUp).Row) valrecherché = CDbl(TextBox1.Value) i = 0 For Each Cell In plage If Cell.Value = valrecherché Then MsgBox Cell.Address End If Next End End Sub
Merci de vos réponses et pardonnée moi si j'ai pas bien expliqué mon problème .
- dans mon Code je veux créer un variable qui prend comme valeur le numéro de la ligne qui vérifier une condition pour l'utiliser dans le cas de Else :
If condition Then résultat1
Else résultat 2
Alors pour moi résultat 2 est dépend de résultat 1
Dans mon résultat 2 je dois créer une formule qui utilise une cellule de la dernière ligne qui vérifier la condition
résultat 1
Merci a vous
pour moi j'ai pas compris ta requête
Je crois que si tu poste ton code entre deux balises avec un peu de commentaire tu aura une réponse adéquate
cordialement
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub calc_rep() Dim DernLigne2 As Integer DernLigne2 = 10 + Range("A" & Rows.Count).End(xlUp).Row For DernLigne2 = 10 To Range("A" & Rows.Count).End(xlUp).Row If Range("K" & DernLigne2).Value = "" Then Range("k" & DernLigne2).Offset(0, 1).Value = Range("K" & DernLigne2, Range("K" & DernLigne2).Offset(0, -8)).Value Else 'mon problème est dans cette partie du code je veux que le variable DernLigne2 me donne le numéro de la dernière ligne utiliser dans la partie (then) Range("K" & DernLigne2).Offset(0, 1).FormulaR1C1 = "= R[0]C[-9]/R[" & DernLigne2 & "]C[-9] * R[-1]C[-9]" End If Next DernLigne2 End Sub
Bonjour,
Tu cherche quoi au juste ? La dernière cellule non vide d'une colonne ? Où peut se trouver une certaine valeur dans une colonne ? Comme tu expliques, c'est incompréhensible, précise ta demande !
le probleme est dans cette partie du code :
la cellule (Range("k" & DernLigne2).Offset(0, 1)) contient une formule ( "= R[0]C[-9]/R[" & DernLigne2 ??????????? & "]C[-9] * R[-1]C[-9]" ) mais je veux que le variable DernLigne2 prend le numero de la dernière ligne videCode:
1
2
3 Range("k" & DernLigne2).Offset(0, 1).FormulaR1C1 = "= R[0]C[-9]/R[" & DernLigne2 & "]C[-9] * R[-1]C[-9]"
teste comme ceci :
Code:
1
2
3
4
5
6
7
8
9
10
11 Sub Test() Dim DernLigne2 As Long 'sur la colonne K de la feuille active DernLigne2 = ActiveSheet.Cells(Rows.Count, 11).End(xlUp).Row + 1 Range("K" & DernLigne2).Offset(0, 1).FormulaR1C1 = "= R[0]C[-9]/R[" & DernLigne2 & "]C[-9] * R[-1]C[-9]" End Sub
il ne donne rien !!!!
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub calc_rep() Dim DernLigne2 As Integer Dim nbDLignVide As Integer DernLigne2 = 10 + Range("k" & Rows.Count).End(xlUp).Row nbDLignVide = le numero de la derniere ligne qui contien une cellule vide dans la colonne K !!!!!!!!! For DernLigne2 = 10 To Range("k" & Rows.Count).End(xlUp).Row If Range("k" & DernLigne2).Value = "" Then Range("k" & DernLigne2).Offset(0, 1).Value = Range("k" & DernLigne2, Range("k" & DernLigne2).Offset(0, -8)).Value Else Range("k" & DernLigne2).Offset(0, 1).FormulaR1C1 = "= R[0]C[-9]/R[" & nbDLignVide & "]C[-9] * R[-1]C[-9]" End If Next DernLigne2 End Sub
comment je peut déclaré le variable nbDLignVide ????
teste ça :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub calc_rep() Dim DernLigne2 As Integer Dim nbDLignVide As Integer 'ça, ça ne sert à rien puisqu'ensuite tu t'en sers dans la boucle et c'est réinitialisé à 10 !!! DernLigne2 = 10 + Range("k" & Rows.Count).End(xlUp).Row 'la première cellule vide (+1) de la colonne K nbDLignVide = ActiveSheet.Cells(Rows.Count, 11).End(xlUp).Row + 1 For DernLigne2 = 10 To nbDLignVide With Range("k" & DernLigne2) If .Value = "" Then .Offset(, 1).Value = .Offset(, -8).Value Else .Offset(0, 1).FormulaR1C1 = "= R[0]C[-9]/R[" & nbDLignVide & "]C[-9] * R[-1]C[-9]" End If End With Next DernLigne2 End Sub
veuillez voir le fichier Excel pour comprendre mon problème merci beaucoup pour votre aide.
Pièce jointe 207379
dans la colonne L j'ai fais entrer les formules manuellement pour comparer les résultats entre la colonne K et L
mon objectif c'est d' avoir les mêmes résultats dans la colonne K mais avec un macro.
merci encore une fois
comment récupère le numéro de linge de la cellule vide dans une plage de données ?
merci d’avance
Bonjour,
FormulaR1C1 travail en position relative?
Cela veut dire là où je suis plus ou moins la ou je vais!
R[jevais-jesuis] en d'autres termes je calcul la distance à parcourir!
Code:"r" & jevais "c[-1]
Bonjour ami
je voi que dans la colonne M de ton fichier "Test" tu multiplie C * par 1 !!!
Exemple M33= C33*M$29/C$29 alors que M29/C29 égal à 1
Aussi je te conseille d'utiliser l'enregistreur automatique Macro et puis tu adaple tes formule
si non tu peux joindre un fichier test avec des commentaires sur le fichier excel (formule, ou placer cette formule .... ect)
bonne journée