mise à jour du comobox avec une macro

Le
clyver
bonjour le forum j'ai une macro
en feuille "Resumé"
Code:
Private Sub ComboBox1_Change()
Dim str As String
Dim i As Integer
Dim LigneBar As Integer
Dim LigneSav As Integer
Dim LigneMat As Integer
Dim LigneCryl As Integer

Sheets("Resumé").Select
str = ComboBox1.Value
Range("K3").Value = str

If str <> "" Then
' Range("A4").FormulaArray = "=" & str & "!A1"
' Range("A5").FormulaArray = "=" & str & "!A3"
'Sheets(str).Select
For i = 1 To Sheets(str).[a65536].End(xlUp).Row Step 1
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
BARRETTE") Then
LigneBar = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
MATRICE") Then
LigneMat = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
CRYL") Then
LigneCryl = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
SAV") Then
LigneSav = i
End If
Next
Range("I35").FormulaArray = "=" & str & "!K" & LigneBar
Range("I36").FormulaArray = "=" & str & "!K" & LigneMat
Range("I37").FormulaArray = "=" & str & "!K" & LigneCryl
Range("I38").FormulaArray = "=" & str & "!K" & LigneSav
End If
End Sub

en ThisWorlbook:
Code:
Private Sub Workbook_Open()
Dim str As String
Dim taille As Integer

ind = 0
Sheets("Resumé").Select
Sheets("Resumé").ComboBox1.Clear

For i = 1 To ThisWorkbook.Sheets.Count Step 1
str = Sheets.Item(i).Name
taille = Len(str)
If taille <= 3 Then
Sheets("Resumé").ComboBox1.AddItem (str)
End If
Next
Sheets("Resumé").ComboBox1.Value = Sheets("Resumé").Range
("K3").Value
End Sub


comment faire pour que je puisse mettre à jour sans changer ma semaine
<=> K3 qui se trouve dans ma comobox?
cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20221171
Bonjour Clyver,

Voici un exemple vite fait : http://cjoint.com/?jyvyPb1Twl



"clyver"
bonjour le forum j'ai une macro
en feuille "Resumé"
Code:
Private Sub ComboBox1_Change()
Dim str As String
Dim i As Integer
Dim LigneBar As Integer
Dim LigneSav As Integer
Dim LigneMat As Integer
Dim LigneCryl As Integer

Sheets("Resumé").Select
str = ComboBox1.Value
Range("K3").Value = str

If str <> "" Then
' Range("A4").FormulaArray = "=" & str & "!A1"
' Range("A5").FormulaArray = "=" & str & "!A3"
'Sheets(str).Select
For i = 1 To Sheets(str).[a65536].End(xlUp).Row Step 1
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
BARRETTE") Then
LigneBar = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
MATRICE") Then
LigneMat = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
CRYL") Then
LigneCryl = i
End If
If InStr(Sheets(str).Cells(i, 1).FormulaArray, "TOTAL
SAV") Then
LigneSav = i
End If
Next
Range("I35").FormulaArray = "=" & str & "!K" & LigneBar
Range("I36").FormulaArray = "=" & str & "!K" & LigneMat
Range("I37").FormulaArray = "=" & str & "!K" & LigneCryl
Range("I38").FormulaArray = "=" & str & "!K" & LigneSav
End If
End Sub

en ThisWorlbook:
Code:
Private Sub Workbook_Open()
Dim str As String
Dim taille As Integer

ind = 0
Sheets("Resumé").Select
Sheets("Resumé").ComboBox1.Clear

For i = 1 To ThisWorkbook.Sheets.Count Step 1
str = Sheets.Item(i).Name
taille = Len(str)
If taille <= 3 Then
Sheets("Resumé").ComboBox1.AddItem (str)
End If
Next
Sheets("Resumé").ComboBox1.Value = Sheets("Resumé").Range
("K3").Value
End Sub


comment faire pour que je puisse mettre à jour sans changer ma semaine
<=> K3 qui se trouve dans ma comobox?
cordialement
clyver
Le #20222391
Bonjour michdenis,

Ton lien ne fonctionne pas chez moi ?

merci bonne matinée

Franck
michdenis
Le #20223741
Essaie ce lien (fichier non compressé)

http://cjoint.com/?jzmc1dlJEb


"clyver"
Bonjour michdenis,

Ton lien ne fonctionne pas chez moi ?

merci bonne matinée

Franck
clyver
Le #20225901
bonjour

mais je n'utilise pas "Form1.Show" mais ma premiere macro se trouve en
feuille "Resumé"

est il possible d'utiliser une macro type

Sub MAJ_SEM()
UserComboBox1
End Sub

merci
michdenis
Le #20226031
Il faudrait être plus explicite pour définir tes questions.

Si ton formulaire est ouvert et que tu as un combobox
qui affiche une valeur dans ce formulaire, tu peux dans
une procédure d'un module quelconque récupérer la
valeur affichée par ce combobox en utilisant la ligne
de code suivante :

userform1 -> nom de ton formulaire (propriété Name)
Combobox -> nom de ton combobox dans ton formulaire.

Msgbox Userform1.Combobox1.Value



"clyver"

bonjour

mais je n'utilise pas "Form1.Show" mais ma premiere macro se trouve en
feuille "Resumé"

est il possible d'utiliser une macro type

Sub MAJ_SEM()
UserComboBox1
End Sub

merci
Publicité
Poster une réponse
Anonyme