Bonjour,
Actuellement j'ai une fonction qui trouve la derniere case non vide dans une plage passée en paramètre de la fonction et qui retourne la chaine de caractères qui s'y trouve.
Je voudrais compliquer un peu cette fonction en ajoutant une condition.
En effet, je souhaite que cette chaine non vide soit retournée uniquement si la case se trouvant deux cases à droite de celle ci est vide. sinon la chaine retournée sera la chaine vide.
J'ai donc pensé à passer en paramètre de la fonction la deuxième plage qui est la même plage que la première mais en décalé de deux cases à droite.
Et je me suis dit que à chaque fois que j'analyse le contenu d'une case de ma plage1, il faut que je puisse accéder à la case de la plage2 qui correspond.
Mais je vois pas trop comment faire pour ca.
Ma fonction actuelle est la suivante :
Dans la partie en bleu je voudrais faire la chose suivante (écrit en rouge dans le code ci-dessous) :
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 Function IdEmprunteurActuel(plage1 As Range) As String Dim Cel As Range IdEmprunteurActuel = "" Dim index As Integer index = 0 Dim trouve As Boolean trouve = False 'Parcourir toute les cellules de la plage For Each Cel In plage1 If trouve = False Then If Not Cel.Value = "" Then index = index + 1 End If If Cel.Value = "" Then trouve = True End If End If Next Cel If trouve = False Then IdEmprunteurActuel = "" End If If trouve = True Then If Not index = 0 Then IdEmprunteurActuel = plage1(index, 1) End If If index = 0 Then IdEmprunteurActuel = "" End If End If End Function
Vous voyez comment faire ?
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 Function IdEmprunteurActuel(plage1 As Range, plage2 As Range) As String .... Dim Cel2 As Range .... For Each Cel In plage1 Cel2 = next cell de plage2 If trouve = False Then If Not Cel.Value = "" Then index = index + 1 End If If Cel.Value = "" Then If Cel2.Value = "" Then trouve = True End If End If End If Next Cel .... End Function
Partager