Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées
comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres - je
m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction
manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne
comme
Range("C9").Offset(photo, 0).Value = Mid(tx, 6, separe1 - 6)
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit
de 4 chiffres.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
bonjour René,
que veut tu récupérer de 1234-a1-18-3
1234
ou bien
1183
?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées
comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres - je
m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction
manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne
comme
1234-a1-18-3
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
JeanPasse
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234
Pour le moment j'ai trouvé ceci:
For i = 1 To 4
If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i,
1) > Chr(58)) Then GoTo trouvepasChiffre
Next
J'ai essayé avec
If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo
trouvepasChiffre
mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
OxuaDAyWFHA.3676@TK2MSFTNGP10.phx.gbl...
bonjour René,
que veut tu récupérer de 1234-a1-18-3
1234
ou bien
1183
?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des
entrées comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres -
je m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction
manuelle.
Question secondaire : Comment formater à gauche directement dans une
ligne comme
1234-a1-18-3
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
isabelle
bonjour René,
j'ai fait le tes avec,
1234-1-2-5-y 12k4-1-2-5-y
For i = 1 To 2 On Error Resume Next x = Left(Range("A" & i), 4) For y = 1 To 4 If IsNumeric(y) Then c = c + 1 Next If c = 4 Then MsgBox "c'est un chiffre" Next
isabelle
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
bonjour René,
j'ai fait le tes avec,
1234-1-2-5-y
12k4-1-2-5-y
For i = 1 To 2
On Error Resume Next
x = Left(Range("A" & i), 4)
For y = 1 To 4
If IsNumeric(y) Then c = c + 1
Next
If c = 4 Then MsgBox "c'est un chiffre"
Next
isabelle
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234
Pour le moment j'ai trouvé ceci:
For i = 1 To 4
If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i,
1) > Chr(58)) Then GoTo trouvepasChiffre
Next
J'ai essayé avec
If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo
trouvepasChiffre
mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
OxuaDAyWFHA.3676@TK2MSFTNGP10.phx.gbl...
bonjour René,
que veut tu récupérer de 1234-a1-18-3
1234
ou bien
1183
?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des
entrées comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres -
je m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction
manuelle.
Question secondaire : Comment formater à gauche directement dans une
ligne comme
For i = 1 To 2 On Error Resume Next x = Left(Range("A" & i), 4) For y = 1 To 4 If IsNumeric(y) Then c = c + 1 Next If c = 4 Then MsgBox "c'est un chiffre" Next
isabelle
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
Damien Kergosien
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit :
IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234
Pour le moment j'ai trouvé ceci:
For i = 1 To 4
If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i,
1) > Chr(58)) Then GoTo trouvepasChiffre
Next
J'ai essayé avec
If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo
trouvepasChiffre
mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
OxuaDAyWFHA.3676@TK2MSFTNGP10.phx.gbl...
bonjour René,
que veut tu récupérer de 1234-a1-18-3
1234
ou bien
1183
?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des
entrées comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres - je
m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction
manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne
comme
1234-a1-18-3
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
JeanPasse
Merci à vous deux
IsNumeric c'est vraiment plus simple. Je regarde ceal ce soir.
René
"Damien Kergosien" a écrit dans le message de news:
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
Merci à vous deux
IsNumeric
c'est vraiment plus simple. Je regarde ceal ce soir.
René
"Damien Kergosien" <gwenn@laposte.net> a écrit dans le message de news:
mn.8d897d555717dc56.11105@laposte.net...
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit :
IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234
Pour le moment j'ai trouvé ceci:
For i = 1 To 4
If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value,
i, 1) > Chr(58)) Then GoTo trouvepasChiffre
Next
J'ai essayé avec
If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo
trouvepasChiffre
mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
OxuaDAyWFHA.3676@TK2MSFTNGP10.phx.gbl...
bonjour René,
que veut tu récupérer de 1234-a1-18-3
1234
ou bien
1183
?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes
simples...
En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value
tx = Range("A9").Offset(photo, 0).Value
separe1 = InStr(5, tx, "_")
Range("C9").Offset(photo, 0).Select
Selection.NumberFormat = "@"
Selection.Value = Mid(tx, 6, separe1 - 6)
Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des
entrées comme 1234-a1-18-3
Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte.
C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question :
Je désire tester que les 4 caractères de gauche sont des chiffres -
je m'embrouille
Résultat : Oui, je continu. Non, ERREUR j'arrête pour une
correction manuelle.
Question secondaire : Comment formater à gauche directement dans une
ligne comme
1234-a1-18-3
IsNumeric c'est vraiment plus simple. Je regarde ceal ce soir.
René
"Damien Kergosien" a écrit dans le message de news:
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))
Damien
Merci de regarder mes questions
je veux tester seulement les 4 de gauche 1234 Pour le moment j'ai trouvé ceci:
For i = 1 To 4 If (Mid(Selection.Value, i, 1) < Chr(47) Or Mid(Selection.Value, i, 1) > Chr(58)) Then GoTo trouvepasChiffre Next
J'ai essayé avec If Not (InStr("0123456789", Mid(Selection.Value, i, 1), 2)) Then GoTo trouvepasChiffre mais il y a quelque chose que je n'ai pas compris. Ca ne marche pas.
René
"isabelle" a écrit dans le message de news:
bonjour René,
que veut tu récupérer de 1234-a1-18-3 1234 ou bien 1183 ?
isabelle
Bonjour
Je patauge avec des IF et des FOR alors qu'il doit exister de méthodes simples... En VBA, Excel 97, Windows X
For photo = 1 To Range("C6").Value tx = Range("A9").Offset(photo, 0).Value separe1 = InStr(5, tx, "_") Range("C9").Offset(photo, 0).Select Selection.NumberFormat = "@" Selection.Value = Mid(tx, 6, separe1 - 6) Next
En C10 débute une colonne contenant parfois 4 chiffres, parfois des entrées comme 1234-a1-18-3 Les 4 chiffres s'écrivent à droite, les autres à gauche comme du texte. C6 contient le nombre de photos ou de ligne dans la colonne)
Ma question : Je désire tester que les 4 caractères de gauche sont des chiffres - je m'embrouille Résultat : Oui, je continu. Non, ERREUR j'arrête pour une correction manuelle.
Question secondaire : Comment formater à gauche directement dans une ligne comme 1234-a1-18-3
Je pensais que Mid aurait défini une chaine de caractères même s'il s'agit de 4 chiffres.
Merci pour vos conseils
René
JeanPasse
Après essais, j'ai du conserver la boucle de vérification individuelle sur les 4 caractères car la présence d'une virgule n'est pas détectée. C'est malgré tout un peu mieux.que mon code précédent. Merci "Damien Kergosien" a écrit dans le message de news:
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))
Damien
Après essais, j'ai du conserver la boucle de vérification individuelle sur
les 4 caractères car la présence d'une virgule n'est pas détectée.
C'est malgré tout un peu mieux.que mon code précédent.
Merci
"Damien Kergosien" <gwenn@laposte.net> a écrit dans le message de news:
mn.8d897d555717dc56.11105@laposte.net...
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit :
IsNumeric(Left$(Range("A1").Value, 4))
Après essais, j'ai du conserver la boucle de vérification individuelle sur les 4 caractères car la présence d'une virgule n'est pas détectée. C'est malgré tout un peu mieux.que mon code précédent. Merci "Damien Kergosien" a écrit dans le message de news:
Bonsoir JeanPasse
avec la chaine à tester en A1, ceci suffit : IsNumeric(Left$(Range("A1").Value, 4))