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 :

Création de tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Dessinateur - Projeteur
    Inscrit en
    Novembre 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Dessinateur - Projeteur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2022
    Messages : 6
    Par défaut Création de tableau
    Bonjour,
    je cherche quelques conseil afin de mener à bien mon travail sur excel.
    Je voudrais créer une table à partir de données mais en faisant des boucles qui ne reviennent pas toujours au même endroit.
    Je vais détailler:
    Premier problème => je n'arrive pas à créer une recherche de cellule avec 2 variables
    J'ai une plage de cellule qui va de D à H et je voudrais que ma recherche ce fasse sur ces colonnes en fonction de leur remplissage (Voir pièce jointe 1)
    Deuxième problème => je voudrais créer des lignes en fonction des options de chaque machine ( Voir pièce jointe 2)

    J'espère avoir été assez clair.

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Bonjour,

    Désolé mais pour ma part, je n'ai compris aucune de vos 2 demandes.

    Cordialement.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Dessinateur - Projeteur
    Inscrit en
    Novembre 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Dessinateur - Projeteur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2022
    Messages : 6
    Par défaut
    Bonjour,
    je vais essayer d'être plus explicite.
    Ma première demande concerne la recherche de cellule avec 2 variable.
    Je demande à une macro de rechercher la cellule vide sur une planche de cellule allant de D1 à H1 sachant que par la suite je vais utiliser les données de la colonne choisie jusqu'à la ligne 500.
    Voici le code que j'ai écrit et qui ne fonctionne pas:

    Dim var1 As Integer
    Dim var2 As Integer

    For var2 = 4 To 8
    For var1 = 1 To Range("A1").End(xlDown).Row + 1

    Worksheets("Accessoires").Select
    Range("var1" & "var2").Select
    If Range(var1 & var2).Value = "X" Then GoTo 20 Else GoTo 10

    il m'indique l'erreur suivante : "La méthode Range de l'objet global a échoué"

    Ma deuxième demande concerne la création de bouche:
    Comme montré dans ma pièce jointer n°3 :
    Si j'ai un "X" dans la cellule recherchée précédemment je crée une ligne avec les données de la colonne des options.
    exemple : Cellule D2 = X
    je remplie une ligne dans le tableau en bas en allant chercher les options dans la colonne M
    Je ne peux cependant n'avoir qu'une seule option par ligne
    Je dois donc créer une ligne pour chaque combinaison possible d'option
    Donc je dois créer une multitude de lignes comme indiqué dans le tableau en dessous

    J'espère cette fois avoir été suffisamment clair.
    Merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Salut,

    La methode par defaut de l'objet range travaille avec une adresse de cellule (quelque chose de la forme "A1", ou "B5:H48"), ou le nom d'une plage.
    Il semble que tu utilises des coordonnées, c'est donc la methode Cells() de l'objet Range qui t'intéresse.

    Notes:
    Un bon code VBA n'a pas besoin de selectionner ni d'activer quoi que ce soit, c'est lent et fait ressembler ton classeur à un sapin de Noël.
    Utilise des références, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Wb As Excel.Workbook
    Set Wb = ThisWorkbook    '// Référence sur le classeur contenant le code
     
    Dim Ws As Excel.Worksheet
    Set Ws = Wb.Worksheets("Accessoires")    '// Référence sur la feuille Accessoires.
     
    Dim Rng As Excel.Range
    Set Rng = Ws.Cells(1, 1)    '// Référence sur la cellule A1 de la feuille Accessoires

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Bonjour,

    Juste pour avancer un peu, ces bouts de code pour localiser où se trouvent les X:
    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
    Option Explicit
     
    Sub Trouver_les_X()
        Dim kC As Integer                               '--- n° colonne
        Dim kR As Long                                  '--- n° ligne (row)
        ThisWorkbook.Worksheets("Feuil1").Select
        For kC = 4 To 8
            For kR = 1 To Range("B1").End(xlDown).Row   '--- ne pas utiliser la colonne A car elle contient des cellules fusionnées
                Debug.Print kR & "," & kC, Cells(kR, kC)
                If Cells(kR, kC) = "X" Then
                    If MsgBox("Un X trouvé en " & Cells(kR, kC).Address & vbLf & vbLf & "Continuer?", vbYesNo, "Oui/Non") = vbNo Then
                        Exit Sub    '--- EXIT SUB ---
                    End If
                End If
            Next kR
        Next kC
    End Sub
     
    Sub Trouver_Premier_X()
        Dim kC As Integer                               '--- n° colonne
        Dim kR As Long                                  '--- n° ligne (row)
        ThisWorkbook.Worksheets("Feuil1").Select
        For kC = 4 To 8
            If Cells(1, kC) = "" Then
                For kR = 1 To Range("B1").End(xlDown).Row   '--- ne pas utiliser la colonne A car elle contient des cellules fusionnées
                    If Cells(kR, kC) = "X" Then
                        Cells(kR, kC).Select
                        MsgBox "Premier X trouvé en " & Cells(kR, kC).Address
                        Exit Sub    '--- EXIT SUB ---
                    End If
                Next kR
            End If
        Next kC
    End Sub
    Pour le reste je n'ai pas encore compris ce qu'il faut faire après avoir trouvé un X dans une collonne qui n'a pas de titre (pas de nom de machine).

    Cordialement.
    Fichiers attachés Fichiers attachés

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Dessinateur - Projeteur
    Inscrit en
    Novembre 2022
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Dessinateur - Projeteur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2022
    Messages : 6
    Par défaut
    Merci beaucoup EricDgn pour ta réponse.
    Je vais essayer et te tenir au courant.
    Bonne soirée

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Plutot que d'essayer de nous expliquer, sans y parvenir, le code que tu as en tête,
    que veux-tu faire avec ce tableau ?

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

Discussions similaires

  1. création de tableau dans un autre tableau
    Par freestyler dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 08h54
  2. erreur création de tableau
    Par fabule dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 20/07/2006, 20h36
  3. Création de tableau
    Par rod59 dans le forum C
    Réponses: 10
    Dernier message: 12/11/2005, 16h40
  4. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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