Bonjour,
J'ai 2 lignes avec des valeurs nulles, des valeurs à 0 et des valeurs chiffrées.
Les lignes sont sur 40 cases, donc je ne peux pas tout tester avec des si(et(non nul, 0);renvoyer le chiffre; si(et ......
La colonne A est vide, et à partir de G2 colonnes (G2 est un chiffre), je sais que je n'ai que des cases vides ("")
Donc je ne voudrais tester les colonnes qu'entre G2+1 et B de ma ligne 232, pour écrire en D272 la dernière valeur non nulle
Et ne tester les colonnes qu'entre B et G2+1 de ma ligne 233, pour écrire en D274 la première valeur non nulle
Ca c'est dans un premier temps
Ensuite je voudrais qu'en D272, j'ai le max de mes 2 tests, et en D274, le min de mes 2 tests. Ca j'y arriverai avec une page tampon pour faire le test ; )
Bref, je me lance dans une boucle avec une macro, qui normal, ne fonctionne pas. (C'est ma toute première)
Sub dernière_non-nulle() ' dernière_non_nulle Macro
'
Dim i As Integer
Dim ligne As String
ligne = 232 'numéro de la ligne à tester
For i = G2+1 To 1 Step -1 'Si G2 = 6, je sais qu'à partir de la 5ème colonne, je n'aurai que des cellules vides. Ca ne sert à rien de les tester, et je teste dans l'ordre de G2 à 1
If Cells(ligne, 1+i).Value <> 0 Then 'je mets +1 parce que mes cellules à tester sont dans les cases B à G2+1 (la colonne A est nulle)
D279 = Cells(ligne, i+1).Value ' je veux que dans la cellule D279, j'ai la valeur de la cellule (232,i+1)
Exit For
End If
Next i
End Sub
Là ce n'est que la récupération de la dernière cellule, mais ça ne marche déjà pas... le reste n'est pas gagné.
Pouvez-vous m'aider svp à corriger cette partie, que j'essaye de continuer un peu ensuite ?
Merci d'avance