IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modifier le code ajouter un client du classeur de PatrickToulon [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Modifier le code ajouter un client du classeur de PatrickToulon
    bonjour a vous tous
    dans le classeur de PatrickToulon qu'il m'a modifié afin de passer a une version a base de module de classe
    donc son classeur fonctionne très bien ,ce code permet d'ajouter un client sur la feuille en tenant compte s'il y a où pas de "a l'attention de: dans l'inscription
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     Case "ajoudev"
            With Sheets("Feuil1")
                .Range("j5:j10").ClearContents
     
            .Range("A5").Value = Uclient.Combonom2.List(, 0)
     
                .Range("J5").Value = Uclient.Combocivil2.Value & " " & Uclient.Combonom2.List(, 0)
                .Range("J6").Value = Uclient.PRENOM2
                '==================modif pour ajout à l'attention de: réussie ========================
                If Uclient.ATTENTION2.Value <> "" Then
                    .Range("J7").Value = "à l'attention de : " & Uclient.ATTENTION2.Value
                    .Range("J8").Value = Uclient.ADRESSE2
                    .Range("J9").Value = Uclient.COMPLEMENT2
                    .Range("J10") = Uclient.cp2 & " " & Uclient.VILLE2
                Else
                    .Range("J7").Value = Uclient.ADRESSE2
                    .Range("J8").Value = Uclient.COMPLEMENT2
                    .Range("J9") = Uclient.cp2 & " " & Uclient.VILLE2
                End If
                '=================================================================
     
            End With
    mais je voudrais faire exactement la même chose avec "le complémentd'adresse" soit "COMPLEMENT2" afin que s'il n'y a pas de complément que la ligne Uclient.cp2 & " " & Uclient.VILLE2 puisse remonter d'une ligne, j'ai bien essayer comme dessous mais le cp et ville ne s'écrivent plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Case "ajoudev"
            With Sheets("Feuil1")
                .Range("j5:j10").ClearContents
     
            .Range("A5").Value = Uclient.Combonom2.List(, 0)
     
                .Range("J5").Value = Uclient.Combocivil2.Value & " " & Uclient.Combonom2.List(, 0)
                .Range("J6").Value = Uclient.PRENOM2
                '==================modif pour ajout à l'attention de: réussie ========================
                If Uclient.ATTENTION2.Value <> "" Then
                    .Range("J7").Value = "à l'attention de : " & Uclient.ATTENTION2.Value
                    .Range("J8").Value = Uclient.ADRESSE2
                    .Range("J9").Value = Uclient.COMPLEMENT2
                    .Range("J10") = Uclient.cp2 & " " & Uclient.VILLE2
                Else
                    .Range("J7").Value = Uclient.ADRESSE2
                    If Uclient.COMPLEMENT2.Value <> "" Then
                    .Range("J7").Value = Uclient.COMPLEMENT2
                    .Range("J8") = Uclient.cp2 & " " & Uclient.VILLE2
                End If
                End If
                '=================================================================
     
            End With
    merci de votre compréhension

    Pascal

  2. #2
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a vous

    n'ayant aucune réponse, je clos en sachant que le post va etre modifié

    Pascal

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut RE
    BONJOUR Grizan

    je vais avoir un peu de temps libre ces 4 prochain jour je vais regarder ca mais ca ne m'a pas l'air tres compliqué en fait il te faut séparer les remplissage dans boucle if end if séparés pour chaque élément (al'att.... de,complement....)car l'une ne correspond pas a l'autre bien entendu
    je suis étonné que ca ne te soit pas venu a l'esprit


    a plus tard
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour Patrick

    je pense que tu n'as pas eu le temps mais ce n'est pas grave car ce n'est pas ton code qui est en tord mais celui qui est derrière le bouton "enregistrer dans la base" qui est pas conforme pour "a l'attention de" et "complement" et pour vérifier le classeur c'est ici et voici le code en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Public Sub GetClientInfos(client As InfoClient)
                ' repère un décalage dans les lignes si l'adresse contient "à l'attention de"
                Dim offset As Integer: offset = IIf(IsAttentionDe, 0, 1)
                Dim offset1 As Integer: offset1 = IIf(IsCommentaireDe, 0, 0)
                offset = offset + offset1
                With ThisWorkbook.Sheets(WS_FACTURE).Range("DOC_CLIENT")
                 If IsAttentionDe = True Then
                    client.cp = Split(.offset(5 + offset))(0)
                    client.Nom = .Value
                    client.Prenom = .offset(1).Value
                    client.Attention = .offset(2).Value
                    client.adresse = .offset(3)
                    client.Complement = .offset(4)
                    client.ville = Right(.offset(5 + offset), Len(.offset(5 + offset)) - Len(client.cp) - 1)
                Else
                   client.cp = Split(.offset(5 + offset))(1) 
                    client.Nom = .Value
                    client.Prenom = .offset(1).Value
                    'client.Attention = .offset(2).Value
                    client.adresse = .offset(3)
                    'client.Complement = .offset(4)
                    client.ville = Right(.offset(5 + offset), Len(.offset(5 + offset)) - Len(client.cp) - 1)
     
                End If
                End With
            End Sub

    Pascal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CSS comment puis-je modifier mon code pr avoir un bord blanc
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 30/09/2005, 20h19
  2. Réponses: 6
    Dernier message: 26/09/2005, 18h35
  3. Modifier le code après la compilation, c'est possible?
    Par marcus333 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 09h52
  4. Réponses: 10
    Dernier message: 31/05/2005, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo