Convertir dans VBA

Thelucas160 Messages postés 219 Statut Membre -  
Thelucas160 Messages postés 219 Statut Membre -
Bonjour,

J'ai un fichier excel qui contien plusieur colonne.

Dans l'une d'elle, (colonne H) j'ai par exemple (les chiffre varie) :

H
TotalItemSize
21.92 MB (22,984,495 bytes)
245.7 MB (257,684,569 bytes)
1.132 GB (1,215,363,603 bytes)
2.096 GB (2,245,037,881 bytes)

J'aurais voulu entiermeent en vba, lorsque j'appuie sur un boutton obtenir ca dans la meme colonne :

TotalItemSize
22984495
257684569
1215363603
2245037881

De plus, est-il possible d’ouvrir 2 ou 3 ou 4 fichier excel en même temps avec un CheckBox (multiselect)
Merci

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    voir ces 2 sites pour faire une boucle sur une colonne et les fonctions Split et Replace:

    https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/

    https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I

    Ce qui donne:

    'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
    'https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I
    Sub For_X_to_Next_Ligne()
    Dim FL1 As Worksheet, NoCol As Integer
    Dim NoLig As Long, Var As Variant
        Set FL1 = Worksheets("Feuil1")
        NoCol = 1 'lecture de la colonne A
        For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
            Var = FL1.Cells(NoLig, NoCol)
         Var = Split(Var, "(")(1)
         Var = Replace(Var, "bytes)", "")
         Var = Replace(Var, ",", "")
         FL1.Cells(NoLig, NoCol) = Var
        Next
        Set FL1 = Nothing
    End Sub
    


    De plus, est-il possible d’ouvrir 2 ou 3 ou 4 fichier excel en même temps avec un CheckBox (multiselect)

    Pour le multiselect cela concerne la Combobox et la ListBox!
    0
    1. Thelucas160 Messages postés 219 Statut Membre 14
       
      Normalement tout est bon. j'ai personoliser le code (belle usine a gaz) :

      i = 2
      Do Until Cells(i, "A") = ""
      On Error Resume Next
      Set WorkRng = Cells(i, "H")
      xChar = "("
      For Each Rng In WorkRng
      xValue = Rng.Value
      Rng.Value = VBA.Right(xValue, VBA.Len(xValue) - VBA.InStrRev(xValue, xChar))
      Next


      Cells(i, "H") = Replace(Cells(i, "H"), "bytes)", "")
      Cells(i, "H") = Replace(Cells(i, "H"), ",", "")
      Cells(i, "H") = Replace(Cells(i, "H"), "B", "")
      Cells(i, "H") = Replace(Cells(i, "H"), " ", "")

      i = i + 1
      Loop

      Mais le tout fonctionne :)
      0