Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" <fredgarlon@free.fr> a écrit dans le message de news:
4330967c$0$29673$626a14ce@news.free.fr...
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uFU1w3gvFHA.664@tk2msftngp13.phx.gbl...
Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
La formule matricielle fonctionne à condition qu'il y ait un espace entre
les chiffres et les lettres lorsque les chiffres sont placés avant les
lettres dans la celleule (sinon #VALEUR)...
S'il n'y a pas d'espace séparateur, enlève le +1 après le NBCAR(A1)
AV
La formule matricielle fonctionne à condition qu'il y ait un espace entre
les chiffres et les lettres lorsque les chiffres sont placés avant les
lettres dans la celleule (sinon #VALEUR)...
S'il n'y a pas d'espace séparateur, enlève le +1 après le NBCAR(A1)
AV
La formule matricielle fonctionne à condition qu'il y ait un espace entre
les chiffres et les lettres lorsque les chiffres sont placés avant les
lettres dans la celleule (sinon #VALEUR)...
S'il n'y a pas d'espace séparateur, enlève le +1 après le NBCAR(A1)
AV
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" <fredgarlon@free.fr> a écrit dans le message de news:
4330967c$0$29673$626a14ce@news.free.fr...
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uFU1w3gvFHA.664@tk2msftngp13.phx.gbl...
Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="", LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
Après avoir copié les 2 procédures dans un module standard, tu n'as qu'à
inscrire cette ligne de commande à la fin de ta macro ceci
:
ExtractionColonneC "Feuil1"
Et tu dois remplacer dans cette ligne de commande "Feuil1" par le nom de
ta feuille où l'action se déroule.
Je ne peux pas te proposer quelque chose de "plus facile" à mettre en
application.
Tout ce qui suit doit être copié dans un module standard
'--------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'--------------------------
Sub ExtractionColonneC(NomFeuille As String)
Dim Rg As Range, C As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'--------------------------
Salutations!
"fred" a écrit dans le message de news:
4331368a$0$18830$
Nom de feuille = Feuil1
Au lancement de Rg.Formula = "=OnlyNumber(" &
Rg(1).Offset(, -1).Address(0,
0) & ")"
J'ai le message d'erreur #NOM? qui apparait sur la colonne C
Je cherche mais je ne vois pas d'où ça peut provenir!
Merci encore!
"michdenis" a écrit dans le message de news:Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui
est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="",
LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
Après avoir copié les 2 procédures dans un module standard, tu n'as qu'à
inscrire cette ligne de commande à la fin de ta macro ceci
:
ExtractionColonneC "Feuil1"
Et tu dois remplacer dans cette ligne de commande "Feuil1" par le nom de
ta feuille où l'action se déroule.
Je ne peux pas te proposer quelque chose de "plus facile" à mettre en
application.
Tout ce qui suit doit être copié dans un module standard
'--------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'--------------------------
Sub ExtractionColonneC(NomFeuille As String)
Dim Rg As Range, C As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'--------------------------
Salutations!
"fred" <fredgarlon@free.fr> a écrit dans le message de news:
4331368a$0$18830$626a14ce@news.free.fr...
Nom de feuille = Feuil1
Au lancement de Rg.Formula = "=OnlyNumber(" &
Rg(1).Offset(, -1).Address(0,
0) & ")"
J'ai le message d'erreur #NOM? qui apparait sur la colonne C
Je cherche mais je ne vois pas d'où ça peut provenir!
Merci encore!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eMmURhmvFHA.3556@TK2MSFTNGP12.phx.gbl...
Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" <fredgarlon@free.fr> a écrit dans le message de news:
4330967c$0$29673$626a14ce@news.free.fr...
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui
est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="",
LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uFU1w3gvFHA.664@tk2msftngp13.phx.gbl...
Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour Fred,
Après avoir copié les 2 procédures dans un module standard, tu n'as qu'à
inscrire cette ligne de commande à la fin de ta macro ceci
:
ExtractionColonneC "Feuil1"
Et tu dois remplacer dans cette ligne de commande "Feuil1" par le nom de
ta feuille où l'action se déroule.
Je ne peux pas te proposer quelque chose de "plus facile" à mettre en
application.
Tout ce qui suit doit être copié dans un module standard
'--------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'--------------------------
Sub ExtractionColonneC(NomFeuille As String)
Dim Rg As Range, C As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'--------------------------
Salutations!
"fred" a écrit dans le message de news:
4331368a$0$18830$
Nom de feuille = Feuil1
Au lancement de Rg.Formula = "=OnlyNumber(" &
Rg(1).Offset(, -1).Address(0,
0) & ")"
J'ai le message d'erreur #NOM? qui apparait sur la colonne C
Je cherche mais je ne vois pas d'où ça peut provenir!
Merci encore!
"michdenis" a écrit dans le message de news:Bonjour Fred,
à la fin de ta procédure, tu n'as qu'à appeler la procédure
"ExtractionColonneC" de cette manière
ExtractionColonneC "Feuil1" 'et tu remplaces Feuil1 par le nom de ta
feuille où sont tes données.
La fonction doit être dans un module standard.
'-----------------------------------
Sub ExtractionColonneC(NomFeuille as String)
Dim Rg As Range
With Worksheets(NomFeuille)
Set Rg = .Range("C1:C" & .Range("B65536").End(xlUp).Row)
Rg.NumberFormat = """0#"" ""##"" ""##"" ""##"";,;"
Rg.Formula = "=OnlyNumber(" & Rg(1).Offset(, -1).Address(0, 0) & ")"
End With
End Sub
'-----------------------------------
Function OnlyNumber(Cellule As Range)
Dim Nb As Integer, b As String, A As Integer
Nb = Len(Cellule)
For A = 1 To Nb
b = Mid(Cellule.Text, A, 1)
If IsNumeric(b) Then
OnlyNumber = OnlyNumber & b
End If
Next
End Function
'-----------------------------------
Salutations!
"fred" a écrit dans le message de news:
4330967c$0$29673$
Ok j'ai testé!!!!
En résumé je fais un copier coller d'un annuaire sur internet sur une
feuille excel
Par enregistrement de macro j'obtiens ceci :
Sub Annuaire()
'
' ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:úlse, _
DisplayAsIcon:úlse
Columns("A:A").Select
' Je fais un copier coller spécial en unicode sur A1
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:=True,
OtherChar
_
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
'Conversion des Données en Délimité par le caractère |
Cells.Select
Selection.Columns.AutoFit
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
' Je recherche et remplace "A proximité" par "" dans la colonne A (qui
est
superflu donc a éliminé)
Selection.Replace What:="A proximité", Replacement:="",
LookAt:=xlPart,
_
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Columns("B:B").Select
End Sub
Je suis en colonne B où se trouve les données alphanumériques.
Comment faire pour intégrer la fonction dans cette macro maintenant sans
que
j'intervienne (=OnlyNumber(B2))...comment faire appel à la fonction du
module standard???
J'ai tout de même testé en rajoutant le module standard comprenant la
fonction et inscrit =OnlyNumber(B2) dans C2...c'est ok mais si le chiffre
commence par 0 (exemple numérode télélphone)...il n'apparait pas (je dois
mettre la colonne C en format Spécial téléphone)...et si la ligne est
vide...le chiffre 0 apparait (ce que je ne voudrais pas)!!!
Merci déjà infiniment pour votre aide!!!!
"michdenis" a écrit dans le message de news:Bonjour AV,
| Même avec les nombres comportant des décimales ?
Bien sûr, y compris ces derniers puisque la question n'en fait pas
mention.
;-)
Salutations!
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide
Bonjour,
Par une macro j'aimerais extraire les chiffres contenu dans les cellules
d'une colonne (cellules avec chaine alphanumérique et positionnement
aléatoire des chiffres et du texte dans ces cellules :
def1585....yrrzesd1598... 458gtred...etc...) pour les "coller" sur
une autre
colonne???
Merci de votre aide