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 :

Code fonctionne une fois sur 2


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Paris
    Inscrit en
    Décembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Décembre 2019
    Messages : 5
    Par défaut Code fonctionne une fois sur 2
    Bonsoir,

    J'ai un petit soucis sur mon code, il réalise comme il faut la tâche seulement une fois sur 2.
    Il faudrait que je demande un nom de client. Que puisse vérifier qu'il se trouve dans le 2 ème tableaux puis que je copie toutes les information du dlient trouvé dans une autres feuille? Mais je comprend pas pq mon code ne fonctionne pas tres bien? De plus concernant l'adress sur la ficge, il faudrait que je puisse écrire dans la même case le numéro, l'adresse la ville et le code zip ce que je n'arrive pas à faire.
    Une petite aide me ferai le plus grand bienNom : 80113521_2943222229023656_1147869386116169728_o.jpg
Affichages : 412
Taille : 184,9 Ko
    Nom : 79368357_2470309936558956_4321932333339901952_n.png
Affichages : 505
Taille : 86,8 KoNom : 79510633_2800655613319375_7761289122605432832_n.png
Affichages : 386
Taille : 99,2 Ko

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    Plutôt qu'une image de ton code où je m’abîme les yeux pour ne rien pouvoir faire, peux tu mettre ton code directement dans le corp du message.

    Une fois fait, tu sectionnelles le code et tu cliques sur le bouton "Ajouter la balise CODE", c'est un # en dessus à droite de la zone de saisie.

    Merci pour mes yeux qui sont fatigués.

    GG

  3. #3
    Membre à l'essai
    Femme Profil pro
    Paris
    Inscrit en
    Décembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Décembre 2019
    Messages : 5
    Par défaut
    Autant pour moi,

    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
    27
    28
    Sub edition()
     
    Dim T_client(), T_commande()
    Dim i_client As Integer, num_client As Integer, prenom As String, adress As String, num_adress As Integer, ville As String, zip As Long
     
    T_client = Range("J7:P25").Value
    Sheets("client").Activate
     
    nom = InputBox("Nom du client ?")
    MsgBox UBound(T_client)
     
    For i_client = 1 To UBound(T_client)
        If (nom = T_client(i_client, 2)) Then
            prenom = T_client(i_client, 3)
            num_client = T_client(i_client, 1)
            num_adress = T_client(i_client, 5)
            adress = T_client(i_client, 4)
            ville = T_client(i_client, 6)
            zip = T_client(i_client, 7)
     
           Sheets("fiche").Activate
             Range("C2").Value = nom + " " + prenom
             Range("E2").Value = num_client
             Range("C3").Value = num_adress + " " + zip
     
             i_client = UBound(T_client)
        End If
    Next i_client
    Je m’excuse pour tes yeux 😂

  4. #4
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    C'est mieux mais avec la balise code, s'eu été parfait.

    Tu dis qu'il bosse une fois sur 2. Mais que se passe t'il la fois où il ne bosse pas.
    Une erreur d'execution, rien ???

    Je pense qu'une piste peut être de rajouter au début de ton code la ligne suivante (tu vois avec la balise Code, çà jette !
    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
    27
    28
    29
    30
    31
    Option Compare Text
    Sub edition()
    
    Dim T_client(), T_commande()
    Dim i_client As Integer, num_client As Integer, prenom As String, adress As String, num_adress As Integer, ville As String, zip As Long
    
    T_client = Range("J725").Value
    Sheets("client").Activate
    
    nom = InputBox("Nom du client ?")
    MsgBox UBound(T_client)
    
    For i_client = 1 To UBound(T_client)
        If (nom = T_client(i_client, 2)) Then
            prenom = T_client(i_client, 3)
            num_client = T_client(i_client, 1)
            num_adress = T_client(i_client, 5)
            adress = T_client(i_client, 4)
            ville = T_client(i_client, 6)
            zip = T_client(i_client, 7)
            
            Sheets("fiche").Activate
            Range("C2").Value = nom + " " + prenom
            Range("E2").Value = num_client
            Range("C3").Value = num_adress + " " + zip
            
            i_client = UBound(T_client)
        End If
    Next i_client
    
    End Sub
    En VBA, les chaînes de caractères sont sensibles à la casse (<> MAJ / min) en ajoutant le ligne en rouge, il ne fait plus de différence entre MAJ et min.

    En espérant que ce soit çà en attendant d'en savoir plus.

    GG

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sauf erreur de ma part, tu souhaites consulter les mouvements ou informations d'un client sélectionné
    Si c'est le cas, il suffit d'utiliser la méthode AdvancedFilter de l'objet Range en ayant comme zone des critères le n° du client. En VBA cela représente une ligne de code

    Pour en savoir plus Les filtres avancés ou élaborés dans Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Ajax fonctionne une fois sur deux
    Par guillaume40 dans le forum jQuery
    Réponses: 8
    Dernier message: 02/07/2010, 23h42
  2. Eclipse fonctionne une fois sur deux
    Par crocodile dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/10/2009, 12h39
  3. Expression Régulière fonctionne une fois sur deux
    Par KoRiGaN44 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/07/2008, 19h07
  4. Réponses: 2
    Dernier message: 23/01/2008, 13h01
  5. Réponses: 5
    Dernier message: 14/09/2007, 12h02

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