Bonjour à tous
Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric),
j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la
cellule P2 de la feuille active.
Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois()
' Permet l'affichage d'une boîte de dialogue avec les noms
' des onglets
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet, FeuilleDépart As Worksheet
Dim cb As OptionButton
Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire
Set CurrentSheet = ActiveSheet
Set FeuilleDépart = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option
TopPos = 40
For i = 4 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Ne tient pas compte des feuilles vide ou masquées
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5
PrintDlg.OptionButtons(SheetCount).Text = _
CurrentSheet.Name
If CurrentSheet.Name = FeuilleDépart.Name Then _
PrintDlg.OptionButtons(SheetCount).Value = xlOn
TopPos = TopPos + 13
End If
Next i
' Positionne les boutons OK et Annuler
PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 250
.Caption = "Sélectionez un mois - A.T.S.U. 02"
End With
' Change l'ordre de tabulation des boutons OK et Annuler
' afin de donner le focus au premier bouton d'option
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue
FeuilleDépart.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
Application.ScreenUpdating = False
For i = 1 To SheetCount
If PrintDlg.OptionButtons(i).Value = xlOn Then
End If
Next i
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If
' Supprime la feuille de dialogue temporaire (sans message
d'avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
--
direction-ternoise@(supprimerceci)wanadoo.fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour David Dim LaF As String LaF = PrintDlg.OptionButtons(i).Caption Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de news:ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
Bonjour David
Dim LaF As String
LaF = PrintDlg.OptionButtons(i).Caption
Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement
Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news:ebk9QgT$DHA.2576@tk2msftngp13.phx.gbl...
Bonjour à tous
Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric),
j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la
cellule P2 de la feuille active.
Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois()
' Permet l'affichage d'une boîte de dialogue avec les noms
' des onglets
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet, FeuilleDépart As Worksheet
Dim cb As OptionButton
Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire
Set CurrentSheet = ActiveSheet
Set FeuilleDépart = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option
TopPos = 40
For i = 4 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Ne tient pas compte des feuilles vide ou masquées
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5
PrintDlg.OptionButtons(SheetCount).Text = _
CurrentSheet.Name
If CurrentSheet.Name = FeuilleDépart.Name Then _
PrintDlg.OptionButtons(SheetCount).Value = xlOn
TopPos = TopPos + 13
End If
Next i
' Positionne les boutons OK et Annuler
PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 250
.Caption = "Sélectionez un mois - A.T.S.U. 02"
End With
' Change l'ordre de tabulation des boutons OK et Annuler
' afin de donner le focus au premier bouton d'option
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue
FeuilleDépart.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
Application.ScreenUpdating = False
For i = 1 To SheetCount
If PrintDlg.OptionButtons(i).Value = xlOn Then
End If
Next i
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If
' Supprime la feuille de dialogue temporaire (sans message
d'avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
--
direction-ternoise@(supprimerceci)wanadoo.fr
Bonjour David Dim LaF As String LaF = PrintDlg.OptionButtons(i).Caption Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de news:ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
Pascal Engelmajer
Salut, l'objet dont tu cherche la valeur est PrintDlg.OptionButtons(i) la propriété PrintDlg.OptionButtons(i).Checked pour la cellule A1 et le bouton i [A1]=PrintDlg.OptionButtons(i).Checked -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de news: ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
Salut,
l'objet dont tu cherche la valeur est
PrintDlg.OptionButtons(i)
la propriété PrintDlg.OptionButtons(i).Checked
pour la cellule A1 et le bouton i
[A1]=PrintDlg.OptionButtons(i).Checked
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news: ebk9QgT$DHA.2576@tk2msftngp13.phx.gbl...
Bonjour à tous
Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric),
j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la
cellule P2 de la feuille active.
Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois()
' Permet l'affichage d'une boîte de dialogue avec les noms
' des onglets
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet, FeuilleDépart As Worksheet
Dim cb As OptionButton
Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire
Set CurrentSheet = ActiveSheet
Set FeuilleDépart = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option
TopPos = 40
For i = 4 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Ne tient pas compte des feuilles vide ou masquées
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5
PrintDlg.OptionButtons(SheetCount).Text = _
CurrentSheet.Name
If CurrentSheet.Name = FeuilleDépart.Name Then _
PrintDlg.OptionButtons(SheetCount).Value = xlOn
TopPos = TopPos + 13
End If
Next i
' Positionne les boutons OK et Annuler
PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 250
.Caption = "Sélectionez un mois - A.T.S.U. 02"
End With
' Change l'ordre de tabulation des boutons OK et Annuler
' afin de donner le focus au premier bouton d'option
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue
FeuilleDépart.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
Application.ScreenUpdating = False
For i = 1 To SheetCount
If PrintDlg.OptionButtons(i).Value = xlOn Then
End If
Next i
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If
' Supprime la feuille de dialogue temporaire (sans message
d'avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
--
direction-ternoise@(supprimerceci)wanadoo.fr
Salut, l'objet dont tu cherche la valeur est PrintDlg.OptionButtons(i) la propriété PrintDlg.OptionButtons(i).Checked pour la cellule A1 et le bouton i [A1]=PrintDlg.OptionButtons(i).Checked -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de news: ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
David T.
Bonsoir et merci papou
En utilisant ceci, cela fonctionne à merveille
[P2] = PrintDlg.OptionButtons(i).Caption
Encore merci Salutations
"papou" <DesolePasDeMail> a écrit dans le message de news:OTCiqrT$
Bonjour David Dim LaF As String LaF = PrintDlg.OptionButtons(i).Caption Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news:ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
Bonsoir et merci papou
En utilisant ceci, cela fonctionne à merveille
[P2] = PrintDlg.OptionButtons(i).Caption
Encore merci
Salutations
"papou" <DesolePasDeMail> a écrit dans le message de
news:OTCiqrT$DHA.1796@TK2MSFTNGP12.phx.gbl...
Bonjour David
Dim LaF As String
LaF = PrintDlg.OptionButtons(i).Caption
Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement
Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le
message
de news:ebk9QgT$DHA.2576@tk2msftngp13.phx.gbl...
Bonjour à tous
Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric),
j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la
cellule P2 de la feuille active.
Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois()
' Permet l'affichage d'une boîte de dialogue avec les noms
' des onglets
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet, FeuilleDépart As Worksheet
Dim cb As OptionButton
Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire
Set CurrentSheet = ActiveSheet
Set FeuilleDépart = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option
TopPos = 40
For i = 4 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Ne tient pas compte des feuilles vide ou masquées
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5
PrintDlg.OptionButtons(SheetCount).Text = _
CurrentSheet.Name
If CurrentSheet.Name = FeuilleDépart.Name Then _
PrintDlg.OptionButtons(SheetCount).Value = xlOn
TopPos = TopPos + 13
End If
Next i
' Positionne les boutons OK et Annuler
PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 250
.Caption = "Sélectionez un mois - A.T.S.U. 02"
End With
' Change l'ordre de tabulation des boutons OK et Annuler
' afin de donner le focus au premier bouton d'option
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue
FeuilleDépart.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
Application.ScreenUpdating = False
For i = 1 To SheetCount
If PrintDlg.OptionButtons(i).Value = xlOn Then
End If
Next i
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If
' Supprime la feuille de dialogue temporaire (sans message
d'avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
--
direction-ternoise@(supprimerceci)wanadoo.fr
"papou" <DesolePasDeMail> a écrit dans le message de news:OTCiqrT$
Bonjour David Dim LaF As String LaF = PrintDlg.OptionButtons(i).Caption Worksheets(LaF).Activate
PS : As tu absolument besoin d'activer ta feuille ?
Cordialement Pascal
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news:ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
David T.
Bonsoir et merci pascal
En utilisant ceci, cela fonctionne à merveille
[P2] = PrintDlg.OptionButtons(i).Caption
Encore merci Salutations
"Pascal Engelmajer" a écrit dans le message de news:eebURvT$
Salut, l'objet dont tu cherche la valeur est PrintDlg.OptionButtons(i) la propriété PrintDlg.OptionButtons(i).Checked pour la cellule A1 et le bouton i [A1]=PrintDlg.OptionButtons(i).Checked -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news: ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr
Bonsoir et merci pascal
En utilisant ceci, cela fonctionne à merveille
[P2] = PrintDlg.OptionButtons(i).Caption
Encore merci
Salutations
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans le
message de news:eebURvT$DHA.268@TK2MSFTNGP10.phx.gbl...
Salut,
l'objet dont tu cherche la valeur est
PrintDlg.OptionButtons(i)
la propriété PrintDlg.OptionButtons(i).Checked
pour la cellule A1 et le bouton i
[A1]=PrintDlg.OptionButtons(i).Checked
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le
message
de news: ebk9QgT$DHA.2576@tk2msftngp13.phx.gbl...
Bonjour à tous
Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric),
j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la
cellule P2 de la feuille active.
Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois()
' Permet l'affichage d'une boîte de dialogue avec les noms
' des onglets
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet, FeuilleDépart As Worksheet
Dim cb As OptionButton
Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire
Set CurrentSheet = ActiveSheet
Set FeuilleDépart = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option
TopPos = 40
For i = 4 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Ne tient pas compte des feuilles vide ou masquées
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5
PrintDlg.OptionButtons(SheetCount).Text = _
CurrentSheet.Name
If CurrentSheet.Name = FeuilleDépart.Name Then _
PrintDlg.OptionButtons(SheetCount).Value = xlOn
TopPos = TopPos + 13
End If
Next i
' Positionne les boutons OK et Annuler
PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 250
.Caption = "Sélectionez un mois - A.T.S.U. 02"
End With
' Change l'ordre de tabulation des boutons OK et Annuler
' afin de donner le focus au premier bouton d'option
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue
FeuilleDépart.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
Application.ScreenUpdating = False
For i = 1 To SheetCount
If PrintDlg.OptionButtons(i).Value = xlOn Then
End If
Next i
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If
' Supprime la feuille de dialogue temporaire (sans message
d'avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
--
direction-ternoise@(supprimerceci)wanadoo.fr
"Pascal Engelmajer" a écrit dans le message de news:eebURvT$
Salut, l'objet dont tu cherche la valeur est PrintDlg.OptionButtons(i) la propriété PrintDlg.OptionButtons(i).Checked pour la cellule A1 et le bouton i [A1]=PrintDlg.OptionButtons(i).Checked -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message
de news: ebk9QgT$
Bonjour à tous Etant novice en macro, je repose ma question différement
Dans cette procédure ci-dessous (récupérée sur le site de frédéric), j'aimerais récupérer la valeur des boutons d'option et l'incrire dans la cellule P2 de la feuille active. Je pense que ceci doit être modifié mais je sais pas faire.
Sub Selection_Mois() ' Permet l'affichage d'une boîte de dialogue avec les noms ' des onglets
Dim i As Integer Dim TopPos As Integer Dim SheetCount As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet, FeuilleDépart As Worksheet Dim cb As OptionButton Application.ScreenUpdating = False
' Ajoute une feuille de dialogue temporaire Set CurrentSheet = ActiveSheet Set FeuilleDépart = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add PrintDlg.Visible = xlSheetHidden
SheetCount = 0
' Ajoute les boutons d'option TopPos = 40 For i = 4 To ActiveWorkbook.Worksheets.Count Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Ne tient pas compte des feuilles vide ou masquées If Application.CountA(CurrentSheet.Cells) <> 0 And _ CurrentSheet.Visible Then SheetCount = SheetCount + 1 PrintDlg.OptionButtons.Add 78, TopPos, 150, 16.5 PrintDlg.OptionButtons(SheetCount).Text = _ CurrentSheet.Name If CurrentSheet.Name = FeuilleDépart.Name Then _ PrintDlg.OptionButtons(SheetCount).Value = xlOn TopPos = TopPos + 13 End If Next i
' Positionne les boutons OK et Annuler PrintDlg.Buttons.Left = 240
' Dimensionne la hauteur, la largeur et le titre de la bte de dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 250 .Caption = "Sélectionez un mois - A.T.S.U. 02" End With
' Change l'ordre de tabulation des boutons OK et Annuler ' afin de donner le focus au premier bouton d'option PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront
' Affiche la boîte de dialogue FeuilleDépart.Activate Application.ScreenUpdating = True If SheetCount <> 0 Then If PrintDlg.Show Then Application.ScreenUpdating = False For i = 1 To SheetCount If PrintDlg.OptionButtons(i).Value = xlOn Then
End If Next i End If Else MsgBox "Toutes les feuilles sont vides." End If
' Supprime la feuille de dialogue temporaire (sans message d'avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub -- direction-ternoise@(supprimerceci)wanadoo.fr