@Luana, le fil,
je te propose le fichier ci-joint. 
đ
* en 
J4 : 
=REPT("x";ET(I4<>"";I4<12))
* en 
K4 : 
=REPT("x";ET(I4<>"";I4>=12;I4<=35))
* en 
L4 : 
=REPT("x";ET(I4<>"";I4>35))
dans ton 
post #4, tu as écrit cette phrase :
« je souhaiterais tout de mĂȘme comprendre pourquoi la macro ne marche pas ^^ »
je veux bien te donner toutes les explications, moi, mais ça va ĂȘtre un peu long ! đ đ đ mĂ©bon, si tu y tiens vraiment, c'est toi qui l'auras voulu ! faudra pas venir te plaindre aprĂšs, hein ? đ đ alors j'te laisse lire les points 1) Ă  4) ci-dessous. (j'te souhaite bon courage, car ça va t'faire beaucoup d'lecture ! đ)
1) ton test est celui-ci : 
If 0 < ws1.Range("I" & Nb_Lignes1).Value < 12 Then
que j'abrĂšge en : 
If 0 < Range("I" & Nb_Lignes1) < 12 Then puis en : 
If 0 < k < 12 Then
mĂȘme si mes 2 « rĂ©sumĂ©s » ne sont 
PAS valides. 
(c'est juste pour faciliter l'explication)
en effet, VBA ne sait pas faire ainsi ce genre d'intervalle ! il faut l'écrire ainsi :
If k > 0 And k < 12 Then
2) normalement, dans la colonne "Profondeur", tu saisis uniquement des nombres positifs, n'est-ce pas ? mĂȘme si on sait trĂšs bien qu'en rĂ©alitĂ©, ça reprĂ©sente des nombres nĂ©gatifs, car comme 0 = le niveau de la mer, quand on plonge par exemple Ă  20 m de profondeur, c'est : -20 m ! si tu respectais cette notation avec des signes nĂ©gatifs, et que tu saisissais un nombre positif comme +20 m, ça voudrait dire que tes scaphandriers sont comme des poissons volants qui Ă©voluent Ă  20 m au-dessus des flots, pas vrai ? đ€Ș đ đ€Ł Ă§a s'est jamais vu, car c'est impossible ! sauf peut-ĂȘtre pour des scaphandriers tibĂ©tains qui se mettraient Ă  lĂ©viter ; par exemple Foudre BĂ©nie, celui qui a des visions du migou ! (oui, c'est ça, le migou, c'est le yĂ©ti)
tout ça pour en venir lĂ  : ça veut dire qu'Ă  contrario, quand tu saisis des nombres avec une notation positive, tes nombres ne peuvent pas ĂȘtre des nombres nĂ©gatifs ! donc pour le test If k > 0 And k < 12 Then c'est tout Ă  fait inutile de tester le cas > 0 car on sait trĂšs bien que ça sera toujours le cas ! aussi, on peut ainsi simplifier le test : If k < 12 Then ; note qu'en principe, pour ton systĂšme Ă  notation positive, l'utilisateur n'est pas « idiot » au point de saisir un nombre nĂ©gatif ; et au besoin, il te suffit de mettre une Validation de donnĂ©es ; en plus, l'utilisateur n'est pas censĂ© saisir le nombre 0 (j'en parle au point suivant)
3) il y a bien 3 conditions diffĂ©rentes, n'est-ce pas ? mais hĂ©las, manque de pot, ta sub ne comporte que ces 2 cas : a) If k > 12 Then ⯠k est strictement supĂ©rieur Ă  12 ; b) Else ⯠k est infĂ©rieur ou Ă©gal Ă  12, et sous-entendu strictement supĂ©rieur Ă  0, car mĂȘme sans plonger au-dessus des flots, c'est aussi impossible de plonger Ă  0 m car par dĂ©finition, plongĂ©e = sous le niveau de la mer !
tu auras notĂ© que mon paragraphe ci-dessus est par rapport Ă  mon test simplifiĂ© If k < 12 Then, mais je suis au grand regret de te dire que malheureusement, le mĂȘme raisonnement est valable et applicable Ă  ton test initial plus long, et avec syntaxe VBA valide : If k > 0 And k < 12 Then : avec le Else associĂ©, ça fait 2 cas aussi seulement ! đ
4) il y a bien 3 colonnes diffĂ©rentes pour mettre un "X", n'est-ce pas ? ce sont les 3 colonnes J, K, et L ; alors pourquoi ta sub Ă©crit une valeur "X" uniquement dans les colonnes J ou K ? je ne vois aucune instruction ws1.Range("L" & Nb_Lignes1).Value = "X" ; toi si ? alors par quel miracle espĂ©rais-tu que ça Ă©crive un "X" en colonne L ? non, mĂȘme si VBA t'aime bien et que t'as des affinitĂ©s avec lui, il n'a pas vocation Ă  exaucer tes dĂ©sirs cachĂ©s, mĂȘme s'il en meurt d'envie ! alors bon grĂ© mal grĂ©, faudra bien qu'tu lui indique pas Ă  pas toutes les instructions Ă  exĂ©cuter.
j'te laisse mĂ©diter lĂ -dessus, et surtout, j'espĂšre ne pas t'avoir dĂ©goĂ»tĂ©e du VBA : j'en serais le premier tout Ă  fait navrĂ© ! tu vas peut-ĂȘtre pas le croire, mais ça m'a pris cinq fois plus de temps pour Ă©crire toutes ces explications que de faire le fichier joint ! alors la prochaine fois, stp, essaye d'Ă©crire une sub qui marche du 1er coup ! non seulement tu seras ravie d'avoir rĂ©ussi Ă  dompter le sauvage VBA, mais en plus t'auras pas besoin de demander des explications sur le non-fonctionnement de ta sub ! đ đ€Ș đ€Ł attention, pas de mĂ©prise : j'me moque pas de toi, ni de ton code VBA, mais de la situation ! et si t'as besoin de plus d'infos, n'hĂ©site pas ! maint'nant qu'j'ai commencĂ©, un peu plus ou un peu moins, ça f'ra pas une grande diffĂ©rence ! đ
soan