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 :

Insertion de titre dans un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Insertion de titre dans un tableau
    Bonjour à toutes et à tous !

    Je suis confrontée plus à un niveau algorithmique que réellement de code mais vous pourrez surement m'éclairer.

    J'ai un tableau (oui je sais logique on est sur excel ), appelons le "tableau prix", avec en première colonne l'utilisateur qui peu y insérer un numéro de référence. Selon ce qu'il rentre, je vais récupérer dans un tableau situé sur une deuxième feuille (qu'on appelera "tableau ref") les informations qui vont remplir mon tableau en entier.

    Ensuite j'ai créée un bouton qui va trier mon "tableau prix" dans l'ordre croissant selon le numéro de référence. Bon jusqu'ici tout va bien...

    Dans mon "tableau ref ", les références sont classées selon un titre. ex : les références 112 à 201 sont dans la catégorie AAA, de 202 à 206 dans BBB. Mon tableau est sous la forme :

    AAA
    112, blabla, toussatoussa
    113...
    BBB
    202...

    Maintenant je voudrai qu'en appuyant sur ce même bouton (de tri) ma macro vérifie les numéros de références du "tableau prix" et insère le titre qui correspond au dessus du groupe de ref qui lui appartient.

    Je sais pas si je me suis bien fait comprendre . Je vous met mon code de ma macro de tri :
    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
    Public Sub tri_table()
     
        Dim nbligne
        Dim fintab
        Dim i, j, k, l
        Dim totaligne
     
        j = 1
     
        nbligne = Application.CountA(Worksheets("DevisEntreprise").Range("A20:A500"))
     
        Worksheets("DevisEntreprise").Cells(2, 1).Value = nbligne
     
        totaligne = 19 + nbligne
        fintab = "F" & totaligne
     
        Range("A18:" & fintab).Select
        Selection.Sort Key1:=Range("A19"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
     
        For i = 19 To totaligne
            Cells(i, 2).Value = j
            Cells(i, 6).Value = "=C" & i & "*E" & i
            j = j + 1
        Next i
     
     
        For k = 19 To 100
             ????
        Next k
     
    End Sub
    Je vous remercie d'avance je suis complètement perdue

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 38
    Points : 47
    Points
    47
    Par défaut
    Voilà un peu de code qui peut t'aider, à toi de voir comment l'adapter à ton sujet. J'espère avoir compris ce que tu cherche.
    Désolé pour le booléen il existe des méthodes beaucoup mieux mais celle-ci fonctionne très bien ^^


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub test()
     
    'La fonction ci-dessous appelle la variable insertion titre qui insére un titre aprés une certaine valeur
    'Dans ma feuille 2, A1=1,A2=2,A3=3,....
     
    'déclaration des varaibles
        Dim plage As String
        Dim plage2 As String
        Dim nomFeuille As String
    'Affectation des variables
        plage = "A1"
        plage2 = "A10"
        nomFeuille = "Feuil2"
    'Appel de la fonction
        Call insertionTitre(nomFeuille, plage, plage2)
    End Sub
     
     
    Function insertionTitre(nomFeuille, plage1, plage2)
     
    'déclaration des variables
        'déclaration des compteurs
        Dim i As Integer
        'variables stockant les données voulu
        Dim resultat1 As Integer
        Dim resultat2 As Integer
        Dim position As String
        'booleen permettant de s'extraire de la boucle
        Dim bool As Boolean
     
     
    'Affectation des variables
        'je déclare mon booléen à faux
        bool = False
        'je récupére la valeur '1' de plage
        resultat1 = Mid(plage1, 2)
        'je récupére la valeur '10' de plage
        resultat2 = Mid(plage2, 2)
        'je récupére la position de ma colonne 'A'
        position = Mid(plage1, 1, 1)
     
    'traitement du programme
        'je parcours de '1' à '10' mon tableau
        For i = resultat1 To resultat2
            'si mon booleen est faux et si ma position est supérieur à 3 alors
            If ActiveWorkbook.Sheets(nomFeuille).Range(position & i).Value > 3 And bool = False And ActiveWorkbook.Sheets(nomFeuille).Range(position & i).Value < 6 Then
                'je séclectionne la position et j'insére un éspace
                ActiveWorkbook.Sheets(nomFeuille).Rows(i).Select
                Selection.Insert shift:=xlDown
                'j'insére le nom du titre que je veux
                ActiveWorkbook.Sheets(nomFeuille).Range(position & i).Value = "AAA"
                bool = True
            End If
        Next i
    End Function

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse, je vais tenter d'intégrer ça et je tiens au courant !

Discussions similaires

  1. [Prototype] Insertion de lignes dans un tableau
    Par rawsrc dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 17/12/2008, 13h20
  2. [MySQL] Insertion de donnée dans un tableau array
    Par guigui69 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/06/2008, 17h10
  3. Problème d'insertion d'image dans un tableau
    Par aminos40 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 01/06/2007, 09h54
  4. Réponses: 3
    Dernier message: 06/10/2006, 15h46
  5. [Tableaux] Insertion dynamique ligne dans un tableau
    Par masseur dans le forum Langage
    Réponses: 12
    Dernier message: 28/03/2006, 14h53

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