Macro Excel

Par Macro, décortiquer chiffres ou nombres séparés par une virgule

Bonsoir à tous,

Je m'explique,
Je saisis par une InputBox :

16,4,1

Je voudrais pouvoir obtenir les différentes conbinaisons de ces 3 éléments :

a = 16,4,1
b = 16,1,4
c = 4,16,1
d = 4,1,16
e = 1,16,4
f = 1,4,16

Je galère un max !

Avez-vous une idée simple ?

A vous lire

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Oui !
    D'abord sur ta saisie :
    - ne tolérer à la saisie que des chiffres et des virgules
    - et/ou vérifier qu'il y a 2 et seulement 2 virgules et des chiffres
    Ensuite repérer les rangs v1 et v2 des virgules dans la chaîne de caractères, puis affecter les trois nombres à des variables a, b, c.
    Enfin MsgBox (c1 = a & " " & b & " " & c & Chr(10) & ...)

    A+
    1. Contributeur
      Bonjour,

      pour décortiquer tu as split().

      Ex (j'ai pris A1 au lieu d'un textbox) :
      Sub test()   
          Dim listeNum As Variant, i As Long, ok As Boolean   
          listeNum = Split([A1], ",")   
          For i = 0 To UBound(listeNum)   
              ok = IsNumeric(listeNum(i))   
              If Not ok Then Exit For   
          Next i   
          If Not ok Then   
              MsgBox ("pas bon")   
          Else   
              'suite du traitement   
          End If   
      End Sub

      Pour le reste ça risque d'être un peu plus complexe.
      Selon nombre maxi d'éléments saisis la solution peut varier.
      Et où et comment tu veux les solutions ?
      Faut-il supprimer les doublons ? A la saisie et diminuer le nombre d'éléments ou seulement dans les solutions ?
      etc...

      eric