Bonsoir,
Je suis novice en VBA et je souhaite coder un fichier qui contient plusieurs fonctions if mais qui ont chacune des conditions différentes. Ma difficulté se trouve dans la condition si celle ci est fausse, car j'ai fait une boucle qui démarre du début de mon fichier jusqu'à la dernière ligne (variable derl que j'ai définit) qui va me chercher un code et d'après ce code la fonction if renvoie un nombre dans la colonne F. Pour tous les codes les nombres renvoyés sont tous dans la colonne F à des lignes différentes en fonction de la boucle, mais par contre si la condition est fausse je souhaite qu'il n'affiche rien dans la colonne à l'endroit du code cherché et c'est la que je fais appelle aux experts du vba, car pour moi toutes les fonctions quand la condition est fausse sont les mêmes du coup parfois tout s'efface alors que j'ai simplement une condition de fausse et les autres non.
Je ne sais pas si je suis très clair dans mes explications, mais j'espère que le fichier joint vous aidera à m'aider.
Merci par avance à vous tous.
Cordialement
Voici le code en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37 Sub Base() Dim ws As Worksheet Dim i As Integer Dim derl As Long Application.ScreenUpdating = False Set ws = ActiveWorkbook.Worksheets(1) derl = ws.Range("B" & Rows.Count).End(xlUp).Row For i = 6 To derl code = ws.Range("B" & i).Value statut = ws.Range("D" & i).Value If code = "101" And IsEmpty(statut) Then ws.Cells(i, 6) = ws.Range("M9").Value Else ws.Cells(i, 6).ClearContents End If If code = "181" And IsEmpty(statut) Then ws.Cells(i, 6) = ws.Range("M14").Value Else ws.Cells(i, 6).ClearContents End If If ws.Range("M14").Value <> "" And code = "400" Then ws.Cells(i, 6) = ws.Range("M21").Value Else ws.Cells(i, 6).ClearContents End If Next i End Sub
Partager