Encore un probleme d'Ecart

Olyxier

XLDnaute Occasionnel
Bonjour le Forum

j'ai cherché dans les anciens post mais je n'ai rien trouvé, je souhaite compter ou plutôt écrire dans une autre colonne

le plus gros chiffre avant le 0 et si c'est un zéro on inscrit 1 je joint un exemple.

merci pour votre aide
 

Pièces jointes

  • ECART.xlsx
    9.4 KB · Affichages: 39
  • ECART.xlsx
    9.4 KB · Affichages: 52
  • ECART.xlsx
    9.4 KB · Affichages: 49

PMO2

XLDnaute Accro
Re : Encore un probleme d'Ecart

Bonjour,

Une piste en VBA.

Copiez le code suivant dans un module Standard
Code:
Sub aa()
Dim R As Range
Dim var
Dim i&
Dim k&
Dim cpt&
Dim T()
Dim x#
Dim Big#
'---
On Error Resume Next
Set R = Selection
If Err <> 0 Or R.Columns.Count > 1 Or R.Rows.Count = 1 Then
  MsgBox "Sélectionnez une plage de cellules sur une seule colonne."
  Exit Sub
End If
On Error GoTo 0
var = R
'---
For i& = UBound(var, 1) To 2 Step -1
  If var(i&, 1) <> "" Then
    If var(i&, 1) = 0 Then
      If var(i& - 1, 1) = 0 Then
        x# = 1
      Else
        For k& = i& - 1 To 1 Step -1
          If var(k&, 1) > Big# Then Big# = var(k&, 1)
          If var(k&, 1) = 0 Then
            x# = Big#
            Big# = 0
            Exit For
          End If
        Next k&
      End If
      '---
      If x# > 0 Then
        cpt& = cpt& + 1
        ReDim Preserve T(1 To cpt&)
        T(cpt&) = x#
      End If
    End If
  End If
Next i&
'---
Set R = [j3]    '1ère cellule où s'inscriront les résultats A ADAPTER
For i& = cpt& To 1 Step -1
  R = T(i&)
  Set R = R.Offset(1, 0)
Next i&
End Sub

Sélectionnez la plage de cellules sur une seule colonne (dans votre exemple C2:C31) et lancez la macro "aa".
Les résultats s'inscriront à partir de la cellule J3 (qui pourra être adaptée).
 

Pièces jointes

  • ECART_pmo.xlsm
    17 KB · Affichages: 30

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet