XL 2013 Fusionner 2 macro dont erreur dans un des codes

zombe

XLDnaute Occasionnel
Bonsoir le forum
Une grande pensée déjà a tous les membres de ce forum que j'ai toujours aimé.
Je suis à la recherche de solutions sur un projet que je suis entrain de réaliser.
En effet j'ai une commande bouton qui porte les nom de certaines feuilles de mon fichier. Le bouton de commande tire le nom des feuilles à partir de la feuille parametre!b3:b (dernière cellule non vide de b).
La macro qui gère le nom de la commande bouton fonctionne bien.
J'ai aussi une macro contenue dans un module qui beugue à l'exécution. Le problème se trouve au niveau de la ligne if msgbox(...)=vbyes then
Lorsque je clic sur le yes ou le No la boite de dialogue ne disparaît pas.je suis obligé de cliquer pendant longtemps avant quelle ne se ferme.
Comment corriger ce problème?
Aussi est-il possible de fusionner les 2 code en un et logé dans la commande bouton dynamique?
 

Pièces jointes

  • Caption_Name_Msgbox.xlsm
    69.1 KB · Affichages: 34

cp4

XLDnaute Barbatruc
Bonjour,

Il manquait un petit quelque chose (exit) à ton module.
Tu utilises With Sheets("CUMUL_TBC_" & Sheets("MENU_DA").Cmde.Caption) pourquoi reprendre la même plus bas pour les calculs?
Pour le reste je n'ai pas compris. Fusionner quoi?
VB:
Sub gestion_caption()
'
    Dim i As Long

    With Sheets("CUMUL_TBC_" & Sheets("MENU_DA").Cmde.Caption)
        For i = 7 To 17
            If MsgBox("Etes-vous sûr de vouloir reporter les données.Voulez-vous continuer?", vbYesNo, "Demande de confirmation") = vbYes Then
                .Cells(i, 2) .Value = .Cells(i, 2).Value + .Cells(i + 10, 13).Value
            Else
                Exit Sub
            End If
        Next
    End With
End Sub
 

zombe

XLDnaute Occasionnel
Bonjour cp4
Merci pour votre intervention.
Il ne fonctionne pas comme je souhaite.
Par contre j'ai réaménagé le code comme ceci et ca fonctionne bien:
Sub gestion_caption()
'
Dim i As Long

With Sheets("CUMUL_TBC_" & Sheets("MENU_DA").Cmde.Caption)
If MsgBox("Etes-vous sûr de vouloir reporter les données.Voulez-vous continuer?", vbYesNo, "Demande de confirmation") = vbYes Then
For i = 7 To 17
.Cells(i, 2) .Value = .Cells(i, 2).Value + .Cells(i + 10, 13).Value
Next i
End If
End With
End Sub

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16