Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 supprimer espace

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chasse

XLDnaute Occasionnel
Bonjour le forum
Dans la colonne B les données telles que je les récupère: format 1'08''23 (+0''10)
le 9iem car est un espace que dans un 1er temps j'aimerais supprimer ainsi que les suivant ne garder que les 8 car du début format: 1'08''13
avec ce code

VB:
Sub cal6()
fin = Cells(Rows.Count, 2).End(xlUp).Row

For n = 2 To fin
    sup = Split(Cells(n, 2), "(")
        If UBound(sup) > 0 Then
        Cells(n, 2) = Trim(sup(0))
    End If
     
            t = Split(Cells(n, 2), "''")
                If UBound(t) > 0 Then
                Cells(n, 3) = (Replace(t(1), "''", ""))
            End If
                t = Split(Cells(n, 2), "''")
                    If UBound(t) > 0 Then
                    Cells(n, 2) = Trim(t(0))
                    Cells(n, 2) = "00:" & (Replace(Cells(n, 2), "'", ":"))
                    End If
Next
End Sub
j'ai pu supprimer les car qui suive mais l'espace reste toujours
la suite du code sépare les centièmes dans la colonne C "l'espace est toujours là" et met le reste de la chaine au format MM:SS
Comment supprimer cet espace qui me prend la tête
Merci de votre aide
 

Pièces jointes

Solution
Mais je n'est aucun résultat
Vous avez dû mal tester.

Mais bon, c'est mieux avec le classement en colonne A, voyez le fichier joint :
VB:
Sub Conversion()
Dim tablo, i&, x$, s, ub%
With Sheets("Données brut").[A1].CurrentRegion.Columns(2).Resize(, 2)
    tablo = .Value
    For i = 2 To UBound(tablo)
        x = tablo(i, 1)
        s = Split(x, "''")
        If UBound(s) > 0 Then
            tablo(i, 2) = Val(s(1))
            x = s(0)
            s = Split(x, "'")
            ub = UBound(s)
            If ub = 0 Then tablo(i, 1) = Val(s(0)) / 86400
            If ub > 0 Then tablo(i, 1) = Val(s(0)) / 1440 + Val(s(1)) / 86400
        End If
    Next
    '---restitution et classement---
    Application.ScreenUpdating = False...
Mais je n'est aucun résultat
Vous avez dû mal tester.

Mais bon, c'est mieux avec le classement en colonne A, voyez le fichier joint :
VB:
Sub Conversion()
Dim tablo, i&, x$, s, ub%
With Sheets("Données brut").[A1].CurrentRegion.Columns(2).Resize(, 2)
    tablo = .Value
    For i = 2 To UBound(tablo)
        x = tablo(i, 1)
        s = Split(x, "''")
        If UBound(s) > 0 Then
            tablo(i, 2) = Val(s(1))
            x = s(0)
            s = Split(x, "'")
            ub = UBound(s)
            If ub = 0 Then tablo(i, 1) = Val(s(0)) / 86400
            If ub > 0 Then tablo(i, 1) = Val(s(0)) / 1440 + Val(s(1)) / 86400
        End If
    Next
    '---restitution et classement---
    Application.ScreenUpdating = False
    .Columns(1).NumberFormat = "mm:ss"
    .Columns(2).NumberFormat = "00"
    .Value = tablo
    .Sort .Columns(1), xlAscending, .Columns(2), , xlAscending, Header:=xlYes 'tri sur les 2 colonnes B et C
    If .Rows.Count > 1 Then .Cells(2, 0).Resize(.Rows.Count - 1) = "=IF(8640000*B2+C2>8640000*N(B1)+N(C1),ROW()-1,A1)" 'classement
End With
End Sub
Le classement tient compte des ex-aequo.
 

Pièces jointes

La fonction SI donne 2 résultats de classement selon que le temps est supérieur ou égal au temps précédent.

La ligne 1 contient des textes d'où la fonction N qui renvoie zéro sur cette ligne.
 
Bonjour Modeste geedee,

Teste ta formule avec 59''71 (+0''52) comme demandé au poste #13, elle ne fonctionne pas.

Par contre cette formule en C2 fonctionne, fichier (3) :
Code:
=--SUBSTITUE("0:"&SUBSTITUE(GAUCHE(B2;TROUVE("''";B2)+3);"''";STXT(1/10;2;1));"'";":")
Fonctionne même si les minutes en colonne B sont à 2 chiffres.

Fonctionne quel que soit le séparateur décimal de l'ordi grâce à STXT(1/10;2;1).

A+
 

Pièces jointes

Bonjour le Forum, job75,Modeste geedee,
Avec cette formule je ne peux plus additionner les temps des deux manche
voici la suite de la macro
VB:
Sub Addition()
Dim fin&, i&, col2&, lot&, v&
        col2 = Range("j" & Rows.Count).End(xlUp).Row
        fin = Range("c" & Rows.Count).End(xlUp).Row
    For i = 2 To col2
        For v = 2 To fin
            If Cells(i, 10) = Cells(v, 3) Then
            If Cells(i, 10) = Cells(v, 3) And Cells(i, 12) + Cells(v, 5) >= 100 Then
               Cells(i, 12) = Cells(i, 12) + Cells(v, 5) - 100
                Cells(i, 11) = Cells(i, 11) + Cells(v, 4) + TimeValue("00:00:01")
                Cells(i, 11) = Round(Cells(i, 11), 10)
                Exit For
                Else
              Cells(i, 12) = Cells(i, 12) + Cells(v, 5)
                 Cells(i, 11) = Round(Cells(i, 11) + Cells(v, 4), 10)
                Exit For
                End If
        
            End If
            Next
            Next
Range(Cells(1, 8), Cells(Cells(Rows.Count, 12).End(xlUp).Row, 12)).Sort _
key1:=Range("K1"), order1:=xlAscending, dataoption1:=xlSortNormal, _
key2:=Range("L1"), order2:=xlAscending, dataoption2:=xlSortNormal, Header:=xlYes

End Sub

Merci pour vos subjections
 
En regardant attentivement l'image de votre post #29 je constate que les valeurs des colonnes des temps D et I sont cadrées à gauche, ce seraient donc des textes et pas des nombres ???

Qu'avez-vous donc fait avec les formules de ces colonnes ? Vous avez supprimé les -- sans comprendre qu'ils sont indispensables ?

Je vois aussi que sur votre ordi c'est le point qui est le séparateur décimal mais normalement cela ne doit pas poser de problème.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
Réponses
4
Affichages
534
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…