Répétition formule décalée en fonction de la case cochée

Résolu/Fermé
Ananas - Modifié le 13 juil. 2022 à 11:26
 Ananas - 20 juil. 2022 à 16:59

Bonjour,

je chercherai un moyen pour qu'une macro répète une formule mais décalée en fonction de la case cochée.

Ma structure est la suivante j'ai un tableau que je veux associer avec une case  à cocher quand je clique cette case le programme s'exécute.

Plus bas, j'ai un tableau avec une structure identique à associer avec une autre case à cocher, pareil quand on active la case le programme réalise la même tache/programme mais en se basant sur ce tableau et plus celui au dessus

Aujourd'hui j'utilise une macro par tableau mais j'en ai beaucoup trop je ne peux pas me permettre de continuer de cette manière, auriez vous une solution?

j'ai mis le code contenu dans ma macro (de simples copier/coller)

Sub remplissage_auto()
Worksheets("BP").Select

Range("C4:H6").Copy Worksheets("BP").Range("C14")
Range("C9:H11").Copy Worksheets("BP").Range("C19")
Range("C4:H6").Copy Worksheets("BP").Range("C24")
Range("C9:H11").Copy Worksheets("BP").Range("C29")
End Sub

pour le deuxième tableau j'ai donc la macros ci dessous:

Sub remplissage_auto2()
Worksheets("BP").Select

 
    Range("C57:H59").Copy Worksheets("BP").Range("C67")
    Range("C62: H64").Copy Worksheets("BP").Range("C72")
    Range("C57:H59").Copy Worksheets("BP").Range("C77")
    Range("C62: H64").Copy Worksheets("BP").Range("C82")

End Sub

et ainsi de-suite ...

il y a 54 lignes entre chaques tableaux

Windows / Edge 103.0.1264.49

A voir également:

7 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
13 juil. 2022 à 18:25

Hello,

Peux tu fournir un exemple de fichier vide afin de voir la structure et position de tes cases à cocher / tableaux


0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié le 15 juil. 2022 à 16:50

Bonjour à tous les deux

Dans la mesure où tes plages ont la même taille et calées sur la colonne C

'procedure paramétrée par la première ligne à copier >  li
Public Sub remplissage(li)
With Worksheets("BP")
  .Range("C" & li & ":H" & li + 2).Copy .Range("C" & li + 10)
  .Range("C" & li + 5 & ":H" & li + 7).Copy .Range("C" & li + 15)
  .Range("C" & li & ":H" & li + 2).Copy .Range("C" & li + 20)
  .Range("C" & li + 5 & ":H" & li + 7).Copy .Range("C" & li + 25)
End With
End Sub

puis pour tes cases à cocher

Private Sub CheckBox1_Click()
Call remplissage(4)
' pour décocher
CheckBox1.Value = False
End Sub

Private Sub CheckBox2_Click()
Call remplissage(57)
' pour décocher
CheckBox2.Value = False
End Sub

https://www.cjoint.com/c/LGpoVQN1FxB

Cdlmnt

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié le 15 juil. 2022 à 17:53

Désolé, le fichier contient des formules, utiliser plutôt celui ci

https://www.cjoint.com/c/LGppZ4ccJoB

Cdlmnt

0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
15 juil. 2022 à 18:06

bonjour,

Ne serait-il pas préférable de n'avoir qu'une seule macro, et que la macro détecte sur quel tableau elle doit travailler?
Cela peut se faire par exemple, si la macro est démarrée via une combinaison de touches, et qu'elle détermine le tableau à partir de la cellule sélectionnée.
Ou bien si la macro est démarrée en cliquant sur une case et que la position de celle case permette de décider ce qu'il faut faire.

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
15 juil. 2022 à 18:14

Salut yg_be

Ne serait-il pas préférable de n'avoir qu'une seule macro, et que la macro détecte sur quel tableau elle doit travailler?

C'est une bonne idée, comme Ananas a des cases à cocher, j'ai .....

Cdlmnt

0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
15 juil. 2022 à 19:32

Il reste une macro par checkbox, ou j'ai pas compris l'approche?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
16 juil. 2022 à 09:20

c'est ce qu j'ai cru comprendre

Plus bas, j'ai un tableau avec une structure identique à associer avec une autre case à cocher, pareil

Vu la structure, on peut aussi lancer toutes les copies en une seule commande

0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
16 juil. 2022 à 21:27

Je suggère de faire une seule macro, en utilisant autre chose que des cases à cocher.

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
17 juil. 2022 à 12:25

Voilà ce qui est possible avec une seul macro pour gèrer l'ensemble des CheckBox sur la feuille

https://www.cjoint.com/c/LGrkystHAlU

J'ai repris le code de ccm81 pour le copier/coller des lignes


0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
17 juil. 2022 à 14:03

Si la checkbox est associée à une cellule, le code peut récupérer l'adresse de cette cellule, au lieu d'utiliser la ligne de la cellule sélectionnée. 

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478 > yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024
17 juil. 2022 à 14:08

Oui j'avais testé la propriété LinkedCell ou encore Name  des CheckBox mais disons que c'était plus simple pour l'utilisateur avec la cellule sélectionnée, on peut créer des CheckBox sans s'occuper d'autres choses.

Mais rien n'empêche d'utiliser ces propriétés. 

0

Bonjour,

Désolé pour le délais, les réponses ne se sont affichés avec pas mal de décalage par rapport aux dates de vos réponses  :'-( . C'est exactement ce que je cherchais à faire merci beaucoup pour votre aide à tous! 

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
17 juil. 2022 à 14:46

En reprenant la suggestion de yg_be, on sélectionne la première cellule du tableau, puis Ctrl+k pour lancer la copie

https://www.cjoint.com/c/LGrmSDNOdOB

Cdlmnt

0

Ca fonctionne très bien aussi mais je préfère le principe des cases à cocher, d'autres personnes que moi devront se servir du programme, je trouve les cases plus visuelles et intuitives. Mais je garde le principe en tête ça resservira forcement à l'avenir. 

Merci!

0