Se connecter avec
S'enregistrer | Connectez-vous

macro excel - probleme de type

Dernière réponse : dans Programmation

bonjour,

j'ai une petite macro qui ne fonctionne pas, j'ai une incompatibilite de type sur les lignes avec les fonctions left et right. J'ai essayé avec des tostring mais ça n'a pas marché...
Les cellules sur lesquelles s'appliquent les fonctions left et right contiennent une chaîne du type 5G2 ou 10F3 et je ne veux garder que la partie numérique de chaque chaîne.


  1. Sub numPlante()
  2.  
  3. Application.ScreenUpdating = False
  4.  
  5. For i = 2 To (Cells(1, 1).CurrentRegion.Rows.Count) Step 1
  6. If Cells(i, 7).Value = "F" Then
  7. Cells(i, 6).Value = Cells(i, 2).Value
  8. Else
  9. Cells(i, 6).Value = Left(Cells(i, 2).Value, InStr(Cells(i, 2).Value - 1, "G"))
  10. Cells(i, 8).Value = Right(Cells(i, 2).Value, InStrRev(Cells(i, 2).Value - 1, "G"))
  11. End If
  12. Next
  13.  
  14.  
  15. End Sub


en fait, cette sub marche si j'écris
Cells(i, 6).Value = Left(Cells(i, 2).Value, InStr(Cells(i, 2).Value, "G")) au lieu de
Cells(i, 6).Value = Left(Cells(i, 2).Value, InStr(Cells(i, 2).Value - 1, "G"))

Pouvez-vous m'aider?

merci
G.

Autres pages sur : macro excel probleme type

Lassé par la pub ? Créez un compte

j'ai compris mon erreur

j'ai écrit finalement
  1. Cells(i, 7).Value = Left(Cells(i, 2).Value, InStr(Cells(i, 2).Value, "G") - 1)
  2. Cells(i, 8).Value = Right(Cells(i, 2).Value, Len(Cells(i, 2).Value) - InStr(Cells(i, 2).Value, "G"))


merci , G.
:hello: 
Lassé par la pub ? Créez un compte