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 :

Comparaison de cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Par défaut Comparaison de cellule
    Bonjour ,
    Je vous expose mon " problème " en espérant que quelqu'un puissent m'aider !
    Voilà je souhaite créer un programme VBA excel afin qu'il effectue ce qui suit de manière automatique :
    1 - On commence par donner le nom de la feuille sur laquelle il va s’exécuter
    2 - la colonne qui contient les nom
    3- la colonne qui contient les prix
    3 - la ligne où il va commencer ( dans la colonne des nom )
    ( jusqu'ici cava je m'en sort )
    Une fois ces paramètres entrer il va commencer à comparer le contenu de la cellule designer ( String ) avec le contenu de la cellule qui suit sur la même colonne 2 ème ligne si le contenue est le même il continue sinon il insère une nouvelle ligne en dessous d'elle ou il va pouvoir faire la somme de la colonne des prix pour ceux qui ont le meme nom puis le mettre en gras !

    Je ne suis pas très habitué a VB mais le contenu que j'ai pu trouver dans le site m'a grandement aider a me familiariser avec ce langage ( merci )
    Desolé si ce n'est pas très clair ! je joindrais un exemple de feuille avant execution et après execution ( que je ferais manuellement ) pour avoir une meilleur idée de ce que le programme est censé faire

    Voilà où j'en suis avec le code :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub For_Each_Next_Colonne()
    Dim FL1 As Worksheet, Cell As Range, NoCol1 As Integer, NumLin As Integer
    Dim DerLig As Long, Plage As Range
    Dim Nom_feuille As String
    Dim Var1, adres As String, NoLig As Long, NoCol As Integer
    Nom_feuille = InputBox("Veuillez entrer le nom de la feuille ")
        Set FL1 = Worksheets(Nom_feuille)
     
        NoCol1 = InputBox("Veuillez entrer numero de la colonne qui contient les montants ")
        NumLin = InputBox("Veuillez entrer numero de la premiere ligne qui contient les montants ")
        DerLig = Split(FL1.UsedRange.Address, "$")(4)
     
        'où FL1.Range(FL1.Cells(1, NoCol1), FL1.Cells(Derlig, NoCol2)) détermine
        'la plage de cellules à lire
     
        With FL1
            Set Plage = Range(FL1.Cells(NumLin, NoCol1), FL1.Cells(DerLig, NoCol1))
            'Utilisation de l'objet range (Cell) dans une boucle For Each... Next
            For Each Cell In Plage
     
                '*** Récupération des valeurs de plusieurs cellule ***
                'Valeur de la cellule lue
                Var1 = Cell.Value
                If (Var1 = Cell.Offset(1, 0)) Then
                MsgBox ("Ok")
                Else
                MsgBox ("KO") 'je test juste si la condition marche ^^
                End If
     
                adres = Cell.Address
     
                NoLig = Cell.Row
     
                NoCol = Cell.Column
     
     
                Debug.Print adres & " " & NoLig & " " & NoCol & " "
                Debug.Print Var1 & " " & Var2 & " " & Var3
            Next
        End With
        Set FL1 = Nothing
        Set Plage = Nothing
    End Sub
    C'est pas tres propre je sais mais je debute avec VB et j'ai besoin de quelque points pour valider mon semestre
    Merci d'avance ^^

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    joindre les classeurs enregistrés au format .xlsx (sans code sinon peu les ouvriront !) …



    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Par défaut
    Exemple.xlsx
    Voilà , juste un petit exemple de ce que ça devrais donner

    Comment puis-je maintenir une selection svp ?
    car je veux que quand ça vérifie que le contenue de la cellule d'apres et le même que celle selectionné il l'ajoute à la selection et ainsi de suite pour que quand la condition n'est plus valide il fait la somme des cellule selectionner
    J'ai tester plusieurs trucs mais rien ne semble marcher
    Merci de m'éclairer

    Après plusieurs test je n'y arrive toujours pas le programme ne marche pas , je pense que ça doit être un complexe pour mon niveau
    car qaund il insere la nouvelle ligne il l'a prend en compte dans sa comparaison donc il continu d'inserer des lignes

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Pourquoi tu n'utilises pas 'Données / Sous-Total' qui fait exactement ça ?
    Et si tu le veux vraiment en vba, avec A1 de sélectionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Macro3()
        Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(4), _
            Replace:=True, PageBreaks:=False, SummaryBelowData:=True
    End Sub
    eric

Discussions similaires

  1. aide pour programme
    Par mitherkiller dans le forum C
    Réponses: 5
    Dernier message: 24/02/2007, 21h38
  2. [TP] Aide pour programme de tarification
    Par Stonley dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 13/02/2007, 13h20
  3. [VBA-E][débutant]aide pour macro sous excel
    Par julyBL dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/06/2006, 22h42
  4. [VBA-E] aide pour macro sur excel
    Par letoulouzin31 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 24/05/2006, 11h29
  5. [Dev-C++] Aide pour programmer avec Qt 4
    Par stone dans le forum EDI
    Réponses: 3
    Dernier message: 02/02/2006, 08h58

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