Ecriture d'une macro avec deux listes déroulantes sur une colonne

mimil

XLDnaute Junior
Bonjour,

J'ai un probléme pour ecrire une macro. Je dois en fonction d'un mois et d'un batiment , entrée une valeur qui' s'afficherais au croisement du mois et du batiment.
Exemple :

Pour pouvoir déterminer une valeur à la cellule B2 en fonction du mois et du Batiment

Private Sub CommandButton1_Click()
If ComboBox1(mois Janv) = Range("B1") And ComboBox2(Batiment 1) = Range("A3") Then
Range("B3") = TextBox1.Value
End If
End Sub

Pour pouvoir déterminer une valeur en fonction de 3 mois et d'un Batiment


Private Sub CommandButton1_Click()
If ComboBox1(Mois Janv) = Range("B1") And ComboBox2(Bat 1) = Range("A3") Then
Range("B3") = TextBox1.Value
End If


If ComboBox1(Mois Fev) = Range("C1") And ComboBox2(Bat 1) = Range("A3") Then
Range("C3") = TextBox1.Value
End If


If ComboBox1(Mois Mars) = Range("D1") And ComboBox2(Bat1) = Range("A3") Then
Range("D3") = TextBox1.Value
End If

Mais le probleme c'est que je dois créer une formule pour chaque mois et pour un seul batiment .
J'ai 12 mois et 6 batiments (donc faites le calculs et j'aurais trop de formule a créer) .
Donc j'aimerais avoir une solution simplfié ou lorsque je choisie un mois(ComboBox1) et un batiment(ComboBox2) et que je rentre une donnée (textbox1) celle ci ce mets dans une cellule au croisement du mois et du batiment.

Merci d'avance
 

Pièces jointes

  • Classeur1.xls
    25.5 KB · Affichages: 86
  • Classeur1.xls
    25.5 KB · Affichages: 88
  • Classeur1.xls
    25.5 KB · Affichages: 84
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ecriture d'une macro avec deux listes déroulantes et plusieurs données

Bonjour Mimil et bienvenu dans le forum, bonjour le forum,

Tes explications sont claires mais il manque un fichier en pièce jointe. Si celui-ci est trop lourd ou contient des données confidentielles, il te suffit d'en créer un autre avec la même structrure et une poignée de données. Tu y indiques ce que tu désires obtenir avec la marcro... Pense à lire la Lien supprimé du forum qui explique tous les bons plans pour obtenir de l'aide rapidement.

Oooops ! le fichier est arrivé entre temps... J'y jette un oeil.
 

tototiti2008

XLDnaute Barbatruc
Re : Ecriture d'une macro avec deux listes déroulantes et plusieurs données

Bonjour mimil, Bonjour Robert, Bonjour klin,

un essai

Code:
Private Sub CommandButton1_Click()
Dim Ligne As Long, Col As Long
    If ComboBox1 = "" Or ComboBox2 = "" Then
        MsgBox "renseigner batiment et mois"
        Exit Sub
    End If
    Ligne = Application.Match(ComboBox2, Sheets("Feuil1").Range("A1:A65536"), 0)
    Col = Application.Match(ComboBox1, Sheets("Feuil1").Range("A1:IV1"), 0)
    Sheets("Feuil1").Cells(Ligne, Col).Value = TextBox1
End Sub

Edit : Bien vu Robert, bien plus simple avec ListIndex ;)
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ecriture d'une macro avec deux listes déroulantes et plusieurs données

Bonjour le fil, bonjour le forum,

En pièce jointe ton fichier modifié.

Sensiblement identique à l'idée de Tototiti sauf que j'ai utilisé la propriété ListIndex des comboboxes...
 

Pièces jointes

  • Mimil_v01.xls
    30.5 KB · Affichages: 93
  • Mimil_v01.xls
    30.5 KB · Affichages: 92
  • Mimil_v01.xls
    30.5 KB · Affichages: 81

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ecriture d'une macro avec deux listes déroulantes et plusieurs données

Bonjour le fil, bonjour le forum,

Je pense qu'il faudrait stocker les index des mois quelque part... Dans la version 2 j'ai utilisé le commentaire. Regarde si ça te convient.

 

Pièces jointes

  • Mimil_v02.xls
    33 KB · Affichages: 64

mimil

XLDnaute Junior
Re : Ecriture d'une macro avec deux listes déroulantes et plusieurs données

Bonjour, c encore moi!!

J'ai un peu de mal avec la VBA. Mon nouveaux probléme est que je voudrai faire une fonction si avec deux condition . exemple :

If cel.Value <> "Période relevé" Then 'condition : si la valeur de la cellule est différente de "Période relevé"

celle ci marche bien et quand je veut rajouter une condition :

If cel.Value <> "Période relevé" & "Conso ECS" Then 'condition : si la valeur de la cellule est différente de "Période relevé" et "Conso ECS"

les deux condition ne marche pas , donc quel est la syntaxe pour ecrire un fct si avec deux condition
 

mimil

XLDnaute Junior
Re : Ecriture d'une macro avec deux listes déroulantes sur une colonne

pour pouvoir simplifier la recherche dans une liste deroulante , j'ai crée deux liste déroulante !

J'ai donc recopié la macro de la premiére liste (Avec une combobox2) pour crée la macro de la deuxieme liste ( mais la j'ai mis combobox3) mias le probléme c que le resultat souhaiter s'affiche au nivo de la condition de la combobox 3 et la condition combobox2 ! alors que moi je veux soit l'un soit l'autre !

merci de votre réponse
 

Pièces jointes

  • Aide_v03(1) no.xls
    47 KB · Affichages: 53
  • Aide_v03(1) no.xls
    47 KB · Affichages: 60
  • Aide_v03(1) no.xls
    47 KB · Affichages: 51

Discussions similaires

Réponses
6
Affichages
202
Réponses
7
Affichages
292

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof