Si imbriqués
Résolu/Fermé
clara2424
-
25 mars 2016 à 10:20
Arkana0 Messages postés 4400 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 25 mars 2016 à 11:26
Arkana0 Messages postés 4400 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 25 mars 2016 à 11:26
2 réponses
Arkana0
Messages postés
4400
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
Modifié par Arkana0 le 25/03/2016 à 10:44
Modifié par Arkana0 le 25/03/2016 à 10:44
Bonjour,
Essaye avec Range(...).Value et pas besoin de ":" après ton dernier "else"
Et pour que si ça marche, plutôt que des "ElseIf", je pense qu'il faut que tu imbriques tes "if" comme ça :
If ... then
If then
[...]
End if
End if
Car le but est de trouver la première case non-vide si j'ai bien compris ?
Essaye avec Range(...).Value et pas besoin de ":" après ton dernier "else"
Et pour que si ça marche, plutôt que des "ElseIf", je pense qu'il faut que tu imbriques tes "if" comme ça :
If ... then
If then
[...]
End if
End if
Car le but est de trouver la première case non-vide si j'ai bien compris ?
ah oui c'est bcp plus court comme tu me le proposes et en plus ça marche!
je sais pas si jarriverai a le refaire mais c'est parfait!
merci mille fois !
Ce qui me pose pb c'est plus le language j'ai fait du turbo pascal avt donc je comprends le principe mais utiliser les bons termes c'est le plus compliqué !
je sais pas si jarriverai a le refaire mais c'est parfait!
merci mille fois !
Ce qui me pose pb c'est plus le language j'ai fait du turbo pascal avt donc je comprends le principe mais utiliser les bons termes c'est le plus compliqué !
Arkana0
Messages postés
4400
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
25 mars 2016 à 11:26
25 mars 2016 à 11:26
C'est pour ça que j'ai tenté d'expliquer le principe de ce code :)
Mais c'est certain qu'il faut avoir l'esprit algorithmique pour être à l'aise dans cette façon de penser (merci les cours de C).
Pour ce qui est des syntaxes, tu peux utiliser ce site https://www.excel-pratique.com/fr/vba/couleurs.php
Personnellement j'en abuse.
N'oublie pas de cliquer sur le bouton signalant que le problème est résolu !
Mais c'est certain qu'il faut avoir l'esprit algorithmique pour être à l'aise dans cette façon de penser (merci les cours de C).
Pour ce qui est des syntaxes, tu peux utiliser ce site https://www.excel-pratique.com/fr/vba/couleurs.php
Personnellement j'en abuse.
N'oublie pas de cliquer sur le bouton signalant que le problème est résolu !
Modifié par Arkana0 le 25/03/2016 à 11:13
Tu noteras qu'une variable "numéro" est inutile.
Il manquait principalement le "qu'est-ce qui se passe si la case n'est pas vide ?"
Je ne suis pas allé jusqu'au bout car tu vois que c'est un peu long à taper... aussi je suis tenté de te proposer ce code qui simplifie beaucoup l'écriture :
Le principe :
La boucle For va tourner 12 fois maximum (car de P à E ça fait 12 colonnes), la valeur I initialisée à 0 va augmenter de 1 à chaque relance de la boucle.
Cells(9,16) fait référence à la cellule de la 9ème ligne et de la 16ème colonne, soit P9.
A chaque tour, elle fera référence à la colonne précédente vu qu'on y retranche I.
Dès qu'elle tombe sur une valeur, E5 prend cette valeur et on sort de la boucle avant qu'elle n'ait fait ses 12 tours.