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

Récupérer par formule texte entre guillemets

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous,

j'aimerais récupérer 13 heures 25 minutes dans le texte suivant: "text" : "13 heures 25 minutes", soit par formule, soit en VBA. Les deux solutions sont les bienvenues. Merci d'avance.




A+
 
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Récupérer par formule texte entre guillemets

Bonjour à tous,

A essayer avec le texte en "G9":
Code:
=GAUCHE(STXT(G9;CHERCHE("heure";G9;1);99);NBCAR(STXT(G9;CHERCHE("heure";G9;1);99))-1)

JHA
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Récupérer par formule texte entre guillemets

Bonjour Chris, CISCO

@CISCO: désolé, mais j'ai qu'une seule cellule que je récupère suite à la recherche avec Google Map.

@Chris: tu y était presque! - il fallait mettre -4 au lieu de -3.


EDIT @JHA: ce n'est toujours pas ça avec la 2ème formule proposée. Chris à résolu le problème.


Merci à vous tous pour votre intervention.


Amicalement Lone-Wolf
 
Dernière édition:

Chris24

XLDnaute Impliqué
Re : [Résolu pas Chris24] Récupérer par formule texte entre guillemets

si tu mets moins 4 tu supprimes le (s) de minutes ??.?.

pour la formule de JHA il faut remplacer "heures" par "13"

=GAUCHE(STXT(A1;CHERCHE("13";A1;1);99);NBCAR(STXT(A1;CHERCHE("13";A1;1);99))-1)
 
Dernière modification par un modérateur:

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu pas Chris24] Récupérer par formule texte entre guillemets

Re Chris,

le problème c'est qu'il peut y avoir 1 minute ou 30 minutes, et mettant 3 j'obient min" si moins de 2 min. Et la faut passer par =SI(..... peut-être.




A+
 

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu pas CISCO] Récupérer par formule texte entre guillemets

Re Cisco,

j'ai ceci dans la macro : .Range("c2") = Round(Right(Sheets("Data").Range("a31"), 7) / 1000, 0). Et encore une fois, comme les kilomètres peuvent changer, je ne sias pas qoi mettre à la place de Right. Oubien faut ajouter Len???


EDIT: problème résolu, j'ai repris la formule pour cette cellule.

EDIT2: Sorry, probème non résolu.



A+
 
Dernière édition:

Chris24

XLDnaute Impliqué
Re : [Résolu pas CISCO] Récupérer par formule texte entre guillemets

Re:Lone-wolf

si la structure de la chaîne est toujours la même tu peux tester la longueur de cette chaîne

=SI(NBCAR(A93)=31;STXT(A93;TROUVE(":";A93;1)+3;NBCAR(A93)-TROUVE(":";A93;1)-3);STXT(A93;TROUVE(":";A93;1)+3;NBCAR(A93)-TROUVE(":";A93;1)-4))

Bonne soirée
 

CISCO

XLDnaute Barbatruc
Re : [Résolu pas Chris24] Récupérer par formule texte entre guillemets

Bonsoir

Re Chris,

le problème c'est qu'il peut y avoir 1 minute ou 30 minutes, et mettant 3 j'obient min" si moins de 2 min. Et la faut passer par =SI(..... peut-être.

A+

Si tu peux avoir ces deux cas, c'est que tu pouvais nous fournir plusieurs exemples, comme je te le demandais au début...

@ plus
 

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu pas CISCO] Récupérer par formule texte entre guillemets

Re Cisco,

J'ai pu résoudre de problème, grâce à ta formule et une modification du code que voici.

Code:
'MODULE

Public Const wurl As String = "https://www.google.fr/maps/dir/"
Public Const Formula1 As String = "=STXT(Data!$A$30;CHERCHE("":"";Data!$A$30)+3;NBCAR(Data!$A$30)-CHERCHE("":"";Data!$A$30)-4)"
Public Const Formula2 As String = "=STXT(Data!$A$34;CHERCHE("":"";Data!$A$34)+3;NBCAR(Data!$A$34)-CHERCHE("":"";Data!$A$34)-4)"

'--------------------------------------------------

Private Sub CmdItineraire_Click()

Application.ScreenUpdating = False

   Depart = TxtDepart.Value
    Arrivee = TxtArrivee.Value

With Sheets("Data").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps/api/directions/json?origin=" & Depart _
 & "&destination=" & Arrivee & "&sensor=false", Destination:=Sheets("Data").Range("A1"))
  .Name = "itinéraire"
  .BackgroundQuery = True
  .WebSelectionType = xlEntirePage
  .WebFormatting = xlWebFormattingNone
  .Refresh BackgroundQuery:=False
End With

With Sheets("Data")
.Range("a30") = Trim(.Range("a30"))
.Range("a31") = Trim(.Range("a31"))
.Range("a34") = Trim(.Range("a34"))
End Wit

With Sheets("Resultats")
.Range("a2") = TxtDepart.Value
.Range("b2") = TxtArrivee.Value
.Range("c2").FormulaLocal = Formula1
.Range("d2").FormulaLocal = Formula2
LblKm.Caption = .Range("c2")
LblTemps.Caption = .Range("d2")
End With
LblKm.Caption = Replace(LblKm.Caption, "Â", "")
Sheets("Resultats").Range("c2") = LblKm.Caption

On Error Resume Next
Application.DisplayAlerts = False
dep = TxtDepart.Value
arr = TxtArrivee.Value
sep = "+" & "/"
Me.WebBrowser1.Navigate wurl & dep & sep & arr & sep

End Sub



A+
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…