Bonjour à tous,
je souhaite extraire une chaine de caractère dans une cellule. Le problème pour moi c'est que je peux avoir 2 lignes dans une même cellule où je dois extraire des données.
L'exemple ci joint illustre parfaitement mon problème.
Je pense qu'il est nécessaire de passer par un tableau. Et là c'est un vrai cauchemar pour moi. J'ai beaucoup de mal à comprendre comment manipuler les tableaux en VB.
Pouvez vous m'aider à comprendre pourquoi mon code tourne en boucle ? et comment faire pour résoudre ce problème.
Merci par avance
je souhaite extraire une chaine de caractère dans une cellule. Le problème pour moi c'est que je peux avoir 2 lignes dans une même cellule où je dois extraire des données.
L'exemple ci joint illustre parfaitement mon problème.
Je pense qu'il est nécessaire de passer par un tableau. Et là c'est un vrai cauchemar pour moi. J'ai beaucoup de mal à comprendre comment manipuler les tableaux en VB.
Pouvez vous m'aider à comprendre pourquoi mon code tourne en boucle ? et comment faire pour résoudre ce problème.
Merci par avance
Private Sub Worksheet_Change(ByVal target As Range)
Dim ligne, NbHeureHisto As Long
Dim i As Integer
Dim Tableau_Chaine_Histo() As String
Dim fData As Worksheet
ligne = target.Row
Set fData = ActiveWorkbook.Sheets("Data")
Columns("B").ClearContents
Tableau_Chaine_Histo = Split(fData.Cells(ligne, "A").Value, vbLf)
For i = 0 To UBound(Tableau_Chaine_Histo)
NbHeureHisto = CInt(Left(Tableau_Chaine_Histo(i), InStr(1, Tableau_Chaine_Histo(i), "heures") - 1))
fData.Cells(ligne, "B").Value = fData.Cells(ligne, "B").Value + NbHeureHisto
Exit For
Next i
End Sub
Pièces jointes
Dernière édition: