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 :

Sélection Cellule en fonction de plusieurs choix VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2023
    Messages : 6
    Par défaut Sélection Cellule en fonction de plusieurs choix VBA
    Bonjour à tous,

    Je me creuse un peu la tête depuis quelques jours concernant un problème que j'ai:

    Nom : Capture d’écran 2023-05-14 192400.png
Affichages : 136
Taille : 40,4 Ko

    Voici le tableau excel que j'ai effectué, et un formulaire vba en plusieurs feuilles et étapes:

    - 1ère étape: Checkbox entre Fab et Hub (colonnes C à E ou colonnes F à H)
    - 2ème étape: Checkbox entre 1 2 ou 3 soit de Fab soit de Hub en fonction du choix précédent (Colonne C, D ou E pour Hub, Colonne F, G ou H pour Fab)
    - 3ème étape: Checkbox entre les Modèles (Lignes modèles)

    Je souhaiterai savoir comment faire pour réussir à faire sélectionner la bonne cellule en fonction de mon choix:

    Exemple: je choisis Fab dans la checkbox feuille 1, ensuite je choisis 2 dans la checkbox feuille 2 et enfin je choisis le modèle 4 dans la feuille 3.

    Aussi je voudrai savoir comment je pourrai faire pour aller chercher le tarif (20,00€) et ensuite, y ajouter le tarif de base de la colonne tarif.

    Du coup dans chaque checkbox, j'ai déclaré des valeurs mais je sais pas trop comment faire pour cette "recherche" de valeur en croisé et en entonnoir.

    Pourriez-vous m'indiquer s'il est bien possible de le faire et comment surtout?

    J'ai de bonnes bases de Vba mais je sèche un peu pour le coup.

    Merci par avance

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, personnellement, je ne comprends pas bien ce que tu veux. Pour ma part, un fichier exemple serait le bienvenu.

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2023
    Messages : 6
    Par défaut
    Citation Envoyé par Franc Voir le message
    Bonjour, personnellement, je ne comprends pas bien ce que tu veux. Pour ma part, un fichier exemple serait le bienvenu.
    Alors pour expliquer rapidement c'est assez compliqué mais je vais essayer:

    J'ai créé un Classeur pour lequel j'ai créé plusieurs feuilles 1 Feuille est "Contrat" et me sert à afficher le contrat que j'ai fait et l'autre "DB" et me sert de base de données.

    Dans ce classeur, j'ai mis un module VBA pour lancer un petit formulaire de plusieurs UserForm qui se suivent comme le ferai un installeur .exe.
    Chaque User Form est connecté avec le suivant et le précédent.
    Sur le Premier, je choisis le type de contrat (HUB ou FAB) grâce a deux checkbox, Puis sur le second je choisis la durée du contrat (1, 2 et 3 ans) toujours grâce à des checkbox et enfin sur le troisième, le modèle à choisir

    Ce qu'il faudrait faire c'est qu'en fonction de toutes ces information lorsque la case est cochée, elle indique le groupement de colonnes sur lesquels aller (C:E si Hub coché ou F:H si Fab coché) puis ensuite la Colonne définitive sur laquelle aller (C ou F si 1 an coché, D ou G si 2 ans Coché et enfin E ou H si 3 ans coché) Enfin une fois le modèle choisi, la ligne sera donnée aussi et la valeur qui croisera la colonne définie et par le premier user form puis par le second, sera la bonne.

    C'est compliqué à expliquer mais je peux pas faire beaucoup mieux que ça sachant que le fichier sur lequel je travail est professionnel et contient des informations confidentielles, je ne peux pas trop montrer...

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Je ne comprends pas pourquoi utiliser 3 userform ?
    C'est pas possible d'envoyer un fichier avec des données fictives ?

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mai 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2023
    Messages : 6
    Par défaut
    Citation Envoyé par Franc Voir le message
    Je ne comprends pas pourquoi utiliser 3 userform ?
    C'est pas possible d'envoyer un fichier avec des données fictives ?
    Je pense avoir trouvé la solution,

    Je défini des variables Tarif As String Pour chaque Modèle
    Je défini une variable "Type" As Range Pour HUB ou FAB
    Je défini une Variable "Duree" As Range pour le 1, 2 ou 3 de Hub ou FAB

    Dans ce cas, dans mon userform1 (Type (HUB ou FAB)), je spécifie pour ma variable
    Type = range("C2").Value 'Si c'est Hub qui est selectioné
    Type = range("F2").Value 'Si c'est Fab qui est sélectionné

    Dans le userform2 (Durée (1, 2 ou 3 ans)) je spécifie pour ma variable
    Durée = Type.Value 'Si la durée est bien de 1 ans
    Durée = Type.Offset(0, 1).Value 'Si la durée est de 2 ans
    Durée = Type.Offset(0, 2).Value 'Si la durée est de 3 Ans

    Enfin dans le userform3 (Modèle)
    Tarif = Durée.value & Range("B2").value 'Pour concaténer le tarif initial + le tarif Type et durée
    Tarif = Durée.offset(1, 0).Value & Range("C2").value
    etc...

    Bien sur tout ceci est régit pas de jolis IF et ElseIF pour les deux types et pour les deux durées sur chaque Userform.

    Je regarde si ça fonctionne et je vous dit.

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

Discussions similaires

  1. Valeur d'une cellule en fonction d'un choix
    Par Kermichou dans le forum Excel
    Réponses: 2
    Dernier message: 15/04/2012, 18h50
  2. [Toutes versions] Afficher le contenu d'une cellule en fonction de plusieurs autres
    Par Riko63 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/10/2011, 23h07
  3. colorier une cellule en fonction de plusieurs conditions
    Par antoine2933 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/07/2011, 12h20
  4. Réponses: 6
    Dernier message: 06/05/2011, 17h30
  5. [XL-2003] Chercher et remplacer des cellules en fonction de plusieurs mots
    Par FCL31 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2010, 11h59

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