Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Contribuez
Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 08h44   #1
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Par défaut Nombre de caractères fixe

Créer un nouveau module, et dedans saisir ce code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function ajout_caractere(ByVal strValue, maxLen As Integer, Optional dir As String = "R", Optional sFill As String = "0") As String
    Dim nLen As Integer
    'indique la longueur de la valeur envoyée
    nLen = Len(strValue)
    'compare les deux données de longueur
    If maxLen < nLen Then
        'prend le nombre de caractère max par la droite
        ajout_caractere = Right$(strValue, maxLen)
        ElseIf maxLen > nLen Then
        'test si l'on doit rajouter les données à droite (R) ou à gauche (L)
        If dir = "R" Then
            ajout_caractere = strValue & String(maxLen - nLen, sFill)
            Else
            ajout_caractere = String(maxLen - nLen, sFill) & strValue
        End If
        Else
        ajout_caractere = strValue
    End If
End Function
Créer un module avec ce code, vous verrez apparaître le résultat :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function essai()
    Dim valeur As String, direction As String, caractere As String
    Dim nombre As Integer
 
    valeur = InputBox("Valeur ?", "Titre")
    nombre = InputBox("Nombre ?", "Titre")
    direction = InputBox("Direction (optionnel) ?" & Chr(13) & "(valeur par défaut : droite)", "Titre", "R")
    caractere = InputBox("Caractère (optionnel) ?" & Chr(13) & "(valeur par défaut : 0)", "Titre", "0")
 
 
    MsgBox "Valeur : " & Chr(9) & Chr(9) & valeur _
        & Chr(13) & "Nombre : " & Chr(9) & Chr(9) & nombre _
        & Chr(13) & "Direction : " & Chr(9) & direction _
        & Chr(13) & "Caractère : " & Chr(9) & caractere _
        & Chr(13) & Chr(13) _
        & Chr(13) & "Résultat : " & Chr(9) & UCase(ajout_caractere(valeur, nombre, direction, caractere)), vbOKOnly + vbInformation, "Titre"
 
End Function
Peux-être aussi urilisé dans Excel :
Saisir une valeur dans la cellule A1 et dans la cellule C1 saisir la commande suivante :
Code :
=ajout_caractere(A1;10)
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 09h37   #2
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
Bonjour,

Cela ne viendrait-il pas en doublon avec la fonction vba "String(Numbre,Caractere)" ?
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 09h57   #3
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Salut,

Je ne pense pas car je peux rajouter des caractères à droit ou à gauche. Et je peux rajouter tout type de caractère : chiffre, lettre ou espace.

@+.
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 08h12   #4
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
OK !

Mille excuses, je n'avais pas lu la proc en détail.
Bon travail
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h10.


 
 
 
 
Partenaires

Hébergement Web