Création et suppression de bouton sur feuille

Seb

XLDnaute Occasionnel
Bonsoir au forum,

Je viens vers vous pour un petit soucis de bouton...

J'ai un tableau qui se construit ligne par ligne par macro avec des valeurs qui se trouve sur une autre feuille. En haut de ma feuille je choisi le mois, et le reste du tableau se construit avec les valeurs qu'il va piaucher sur une autre feuille.

Voila mon soucis,

Je voudrais que dans la colonne B, quand la ligne n'est pas vide, la macro me mette un bouton. Ainsi quand je choisi un mois, pour toute les lignes non vide, j'ai un bouton qui apparait dans la colonne B.

Quand ma macro se met en route, elle commence par tout supprimer (donc les boutons doivent etre supprimer aussi) avant de construire le tableau.

J'ai d'autre bouton sur ma feuille, donc je peux pas utiliser "With ActiveSheet.Buttons" car sinon tout mes boutons sont supprimé...

J'arrive pas à m'en dépatouiller...

je vous laisse le fichier pour meilleure visualistation, voir les feuilles "COMPTE" qui se rempli en fonction de la feuille "ANNEE"
 

Pièces jointes

  • Macro avec bouton help.xlsm
    412.9 KB · Affichages: 70
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : Création et suppression de bouton sur feuille

Bonjour

pourquoi mettre des boutons : tu peux faire une mfc en colonne B qui colore ta cellule si C n'est pas vide

dans la feuille compte tu utilises alors la macro suivante

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.count>1 then exit sub
If Intersect(Target, Range("B17:B500")) Is Nothing Then Exit Sub
If IsEmpty(Target.offset(0,1).Value) Then Exit Sub
call automatique
End Sub
 
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : Création et suppression de bouton sur feuille

Re

sinon : le sommeprod est gourmand en ressources, je pense que le somme.si fonctionne dans ton cas.
Le nombre de lignes avec des formules dans compte peut être ajustée via ta macro
une version simplifiée jusye pour te montrer, j'efface aussi les formules et je les replace

Code:
Sub Zonecombinée11_QuandChangement()
Dim e As Variant
Dim i As Integer
Application.Calculation = xlCalculationManual
'Effacement des valeurs de la zone
Range("B17:R500").ClearContents
'Parametrage de la boucle
i = 2
e = 17
'Activation de la boucle
While Not IsEmpty(Sheets("ANNEE").Cells(i, 1).Value)
    If Sheets("ANNEE").Cells(i, 1).Value = Sheets("Compte").Range("C1").Value Then
        For j = 2 To 13
            Sheets("Compte").Cells(e, j).Value = Sheets("ANNEE").Cells(i, j - 1).Value
        Next
        'formule en P
        Sheets("Compte").Cells(e, 16).FormulaR1C1 = _
        "=IF(RC[-13]="""","""",SUMIF(R17C3:RC[-13],R3C4,R17C13:RC[-3])+R4C4+R7C9+R9C9)"
        'incrémentation ligne feuille COMPTE
        e = e + 1
    End If
    'incrémentation de la valeur i pour la boucle
    i = i + 1
Wend
Range("B16").Select
Application.Calculation = xlCalculationAutomatic

End Sub
 

Seb

XLDnaute Occasionnel
Re : Création et suppression de bouton sur feuille

Bonjours Eric S

En fait je voudrais des boutons en colonne B et affecter au bouton une macro qui servira à modifier les valeurs de la ligne ou se trouve le bouton , grâce à un USF ... Sinon merci pour l'idée du sommeprod, je n'avais pas du tout pensé a faire ca... je vais le mettre en route..
 

Seb

XLDnaute Occasionnel
Re : Création et suppression de bouton sur feuille

Re bonsoir, je poste la solution que j'ai trouvé si ça peut intéresser :

Suppression des boutons: (Attention des BOUTTON pas des COMMANDBUTTON)

Dim Objet As Shape
With Worksheets("Compte")
For Each Objet In .Shapes
If TypeName(Objet.OLEFormat.Object) = "Button" Then
Objet.Delete
End If
Next
End With


Comme ça, si je veux des autres boutons dans ma feuille je créé des CommandButtons qui ne seront pas affecté par ma macro ...

Voilou ...
 

Discussions similaires

Réponses
1
Affichages
325
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 389
Messages
2 087 887
Membres
103 672
dernier inscrit
ammarhouichi