Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Copier les cellules d'une feuille à une autre si la checkbox est cochée?

Dernière réponse : dans Programmation
Partagez
15 Février 2013 11:56:37

Bonjour,

Explication de la ituation :

j'ai deux feuilles de calcul : une nommées DONNEES et l'autre SBI.
Dans la feuille DONNEES j'ai des tableaux de données et au début de chaque ligne de données une Checkbox.
J'aimerai que quand la Checkbox est vraie les 5 cellules qui suivent soient copiée Ex : A3 est vraie -> Cellules B3 à E3 copiées
Il faut ensuite que ces cellules soient collées sur la feuille SBI à partir de A24:F24 jusqu'à environ A44:F44.

J'ai commencé à faire quelquechose avec ce que j'ai pu trouver à droite à gauche mais ça ne fonctionne pas vraiment.
J'ai donc de nombreuses questions :
- Quel est le nom pour une Checkbox lorsqu'on veut la présenter au début? (apparemment il aime pas trop ma ligne 3 ^^)
- J'ai plus de 38 Checkbox comment faire pour ne pas taper 38 fois le code et avoir une sorte de boucle qui prend en compte toutes les Checkboxes jusqu'à une certaine ligne?
- Comment faire pour lui demander de décaler d'une ligne quand la première est déjà utilisée dans la feuille SBI (autrement qu'en faisant ce que j'ai essayé vers ligne 15 du code)?
- Comment faire pour que quand la case est décochée les cases s'effacent dans la feuille SBI?

ça fait beaucoup de question j'avoue mais je viens de commencer de m'intéresser à Excel et j'ai déjà mis 2 jours pour trouver comment faire une checkbox et ce petit bout de code! ^^

Je suis prête à faire de nombreux essais pour réussir à faire tout ça et enfin ne plus être aussi nulle en prog Excel! :) 

Merci de bien vouloir me donner un coup de main!

  1. Sub Caseàcocher15_Cliquer()
  2.  
  3. Dim Caseàcocher15 As CheckBox
  4. Dim SBI As Worksheets
  5. Dim DONNEES As Worksheets
  6. Dim Caseàcocher16 As CheckBox
  7.  
  8. If Caseàcocher15.Value = True Then
  9. Range("B3:E3").Copy Destination:=Sheets("SBI").Range("A24:E24")
  10. End If
  11. End Sub
  12.  
  13. Sub Caseàcocher16_Cliquer()
  14. If Caseàcocher16.Value = True Then
  15. If Worksheets("SBI").Cell("A24") = Empty Then
  16. Range("B4:E4").Copy Destination:=Sheets("SBI").Range("A24:E24")
  17. End If
  18. Range("B4:E4").Copy Destination:=Sheets("SBI").Range("A25:E25")
  19. End If
  20. End Sub
  21.  
  22. Sub Caseàcocher38_Cliquer()
  23.  
  24. End Sub
17 Février 2013 19:26:17

Salut,

Pour commencer et pour moi pouvoir reproduire ton cas, dis-nous comment tu as fais pour avoir une case à cocher sur une ligne.
Ensuite, on règlera tes problèmes un par un ;)