Creer un chart waterfall grace a la detection de checkbox
Bonjour,
Alors voilà j’ai un petit problème, j’ai fait une macro (qui vient copier coller la dernière colonne d’un tableau) qui fonctionne.
J’aimerais y rajouter un bout de code qui viendrait vérifier pour chaque colonne si une Check box colonne est sélectionné ( en dehors du tableau en dessous de la colonne) et la croisée avec une Check box ligne, si elle est également sélectionnée (en dehors du tableau sur la ligne choisi ) afin de récupérer la valeur au croisement.
Et en construire un graph waterfall.
Remarque : j’ai commencé à écrire un code sans savoir comment on détecte une checkbox selectionné.
Proposition : j’ai pensé à définir les lignes ou l’on compte vérifier la Check box si elle est sélectionné ou non. Et ceux à certaines lignes qui serait défini par une chaîne de caractère dans le code ( if .cells(x,y).value like « chaîne de caractère » then )
Sub ajout_colonneV3()
Dim dercol%, derlig%, dc%, i%
With Sheets("Feuil1")
'définit la dernière colonne
dc = .UsedRange.Columns.Count
Application.ScreenUpdating = False
'boucle de la dernière colonne à la première
For i = dc To 1 Step -1
'si en ligne 23, la cellule=working
If .Cells(23, i).Value Like "working" Then
'définit la colonne dercol
dercol = i ': MsgBox dercol
'définit la dernière ligne en fonction de la colonne "working"
derlig = .Cells(Rows.Count, dercol).End(xlUp).Row ': MsgBox derlig
'quitte la boucle
Exit For
End If
Next i
'insert 2 colonnes à partir de la dercol
.Columns(dercol).Resize(, 2).Insert
'copie les valeurs des 2 colonnes de working
.Range(.Cells(23, dercol + 2), .Cells(derlig + 10, dercol + 3)).Copy
'colle les valeurs des données à partir de dercol, ligne 23 (soit 2 colonnes avant working)
.Cells(23, dercol).PasteSpecial Paste:=xlPasteValues
'colle le format des données
.Cells(23, dercol).PasteSpecial Paste:=xlPasteFormats
'supprime la sélection de cellules
Application.CutCopyMode = False
End With
'With Sheets("Feuil1")
'définit la dernière colonne
'dc = .UsedRange.Columns.Count
'Application.ScreenUpdating = False
'boucle de la premiere colonne à la derniere
'For i = dc To -1 Step 1
'si en ligne 90, la cellule est selectionné
'If .Cells(90, i).Value Like "working" Then
'End With
End Sub