Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3000 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ajouter +33 a un numero de telephone a la place du 0

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ajouter +33 a un numero de telephone a la place du 0

n°1945189
marcolerig​olo
Posté le 27-11-2009 à 08:42:04  profilanswer
 

Bonjour,  
Tout est dans le titre:
 
 
J'ai des numeros de telephone de type 0122334455 dans une colonne de mon tableau , il y en a 300
 
Je souahite avoir +33122334455 a la place.
 
Comment je peux faire ca?
 
Merci d'avance

mood
Publicité
Posté le 27-11-2009 à 08:42:04  profilanswer
 

n°1945191
antac
..
Posté le 27-11-2009 à 09:06:55  profilanswer
 

Tu fais une macro :
1) Parcourir les cellules
2) Si le premier caractère de la cellule est 0 alors tu le remplaces par +33
3) tu continue ta boucle jusqu'à la fin.
4) Enjoy()

n°1945244
marcolerig​olo
Posté le 27-11-2009 à 10:33:29  profilanswer
 

ah j'ai essaye d'en faire une avec une boucle for
mais je ne sais pas comment faire l'acquisition des donnne, la troncature et la concatenation.

n°1945278
kiki29
Posté le 27-11-2009 à 11:45:35  profilanswer
 

Salut, en utilisant les fonctions Substitue et Gauche tu devrais y parvenir


Message édité par kiki29 le 27-11-2009 à 11:50:42
n°1945445
marcolerig​olo
Posté le 27-11-2009 à 19:58:40  profilanswer
 

mais comment les utiliser justement?
Quel est la syntaxe ?

n°1945477
kiki29
Posté le 27-11-2009 à 21:42:33  profilanswer
 

Salut, tu as l'assistant qui te donnera tous les renseignements voulus
Sélectionner une cellule ou la conversion sera effectuée, puis Menu insertion / fonction /Texte Substitue etc  http://cjoint.com/?lCmXXZc086


Message édité par kiki29 le 28-11-2009 à 12:50:19
n°1945488
marcolerig​olo
Posté le 27-11-2009 à 22:26:35  profilanswer
 

je peux avoir un peu plus d'aide ? car la je n'y arrive vraiment pas

n°1945652
kiki29
Posté le 29-11-2009 à 13:15:14  profilanswer
 

Re, via VBA


Option Explicit
 
Sub Tst()
Dim LastRow As Long, i As Long, sTmp As String
    LastRow = Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        sTmp = Feuil1.Range("A" & i)
        If Left$(sTmp, 1) = 0 Then
            sTmp = "33" & Right$(sTmp, Len(sTmp) - 1)
            With Feuil1
                .Range("A" & i) = sTmp
                .Range("A" & i).NumberFormat = "+00000"
            End With
        End If
    Next i
End Sub


Message édité par kiki29 le 29-11-2009 à 13:17:06
n°1945699
marcolerig​olo
Posté le 29-11-2009 à 18:16:39  profilanswer
 

Super merci kiki beacoup,  
Je vais tester ca tout de suite.

n°1945700
marcolerig​olo
Posté le 29-11-2009 à 18:26:38  profilanswer
 

Bon alors comme je suis sous Excel en anglais j'ai changé Feuil1 en Sheet1
et comme mes numeros sont en colonne C j'ai mis C a la place de A, et j'ai tenté d'executer la macro mais il m'indique un bug sur cette ligne:
If Left$(sTmp, 1) = 0 Then
Il me dit Type mismatch et cela parcequ'il rencontre une cellule vide.
Comment j'adapte?

mood
Publicité
Posté le 29-11-2009 à 18:26:38  profilanswer
 

n°1945702
kiki29
Posté le 29-11-2009 à 18:33:48  profilanswer
 

Re,


Option Explicit
 
Sub Tst()
Dim LastRow As Long, i As Long, sTmp As String
    LastRow = Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        sTmp = Feuil1.Range("A" & i)
        If Len(sTmp) > 0 Then
            .....
        End If
    Next i
End Sub

n°1945704
marcolerig​olo
Posté le 29-11-2009 à 18:55:29  profilanswer
 

Hum cette macro ne marche pas non plus.
J'ai donc remplcé les pointillés par ce qu'il y avait dans le post precedent
et ca me donne ca du coup:
 
Sub Tst()
Dim LastRow As Long, i As Long, sTmp As String
    LastRow = Sheet1.Range("C" & Sheet1.Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        sTmp = Sheet1.Range("C" & i)
        If Len(sTmp) > 0 Then
                With Sheet1
                .Range("C" & i) = sTmp
                .Range("C" & i).NumberFormat = "+00000"
            End With
        End If
    Next i
End Sub
 
Mais ca ne marche pas non plus

n°1945709
kiki29
Posté le 29-11-2009 à 19:05:56  profilanswer
 

Re, tu ne comprends strictement rien à ce que tu fais, désespérant


Option Explicit
 
Sub Tst()
Dim LastRow As Long, i As Long, sTmp As String
    LastRow = Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        sTmp = Feuil1.Range("A" & i)
        If Len(sTmp) > 0 Then
            If Left$(sTmp, 1) = 0 Then
                sTmp = "33" & Right$(sTmp, Len(sTmp) - 1)
                With Feuil1
                    .Range("A" & i) = sTmp
                    .Range("A" & i).NumberFormat = "+00000"
                End With
            End If
        End If
    Next i
End Sub


Message édité par kiki29 le 29-11-2009 à 19:09:06
n°1945713
marcolerig​olo
Posté le 29-11-2009 à 19:27:15  profilanswer
 

Presque nickel, ca m'a bien remplacé les 0 en 33 par contre il ne m'affiche pas les +
J'ai essayé egalement en mettant +33 a la place du 33, mais rien n'y fait
 
Edit: ca marche nickel dorenavant.
 
Merci bp  


Message édité par marcolerigolo le 29-11-2009 à 19:41:45

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ajouter +33 a un numero de telephone a la place du 0

 

Sujets relatifs
comment ajouter des actions sémantiques dans yacc[PHP] Include. Problème de mise en place.
Ajouter des courbes a un graphMacro Excel pour ajouter en caractère dans les cellules.
[RED5] Ajouter sa propre appli au serveur[Flex] Ajouter un composant dans une Vbox en AS3
Bien placé mon SWF dans ma fenetreRenuméroter numéro de facture ayant des "trous"
[Debutant] Ajouter valeur colonne[macro word]Ajouter automatiquement des balises à une liste de liens
Plus de sujets relatifs à : ajouter +33 a un numero de telephone a la place du 0


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR