Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion louna72
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

louna72

Guest
Bonjour

j'ai un tableau actuellement avec un code VBA qui me permet de cocher seulement un case sur 4 pour un questionnaire.

Mon Problème est que je souhaite diviser mon tableau sur 2 feuilles différentes.

je n'arrive pas à comprendre comment activer une feuille et pas l'autre.

merci de votre aide
 

Pièces jointes

Re : problème vba

salut 🙂

pas sur d'avoir compris, voici un code à mettre dans le module thisworkbook :
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ligne As Long

If Sh.CodeName = "Feuil1" Then ligne = 25
If Sh.CodeName = "Feuil2" Then ligne = 13

 If Target.Row > 2 And Target.Row < ligne And Target.Column > 2 And Target.Column < 8 Then
    Range(Cells(Target.Row, 3), Cells(Target.Row, 7)).ClearContents
    Target = "X"
  End If
End Sub

on gère la feuille par l'objet Sh, suivant la feuille on donne la limite de ligne à utiliser pour le contrôle (ligne)

pense à supprimer les codes des autres modules pour éviter les conflits

a plus
 
Re : problème vba

merci pour ta réponse

mais mon problème est un peu plus compliqué.

Je n'avais pas mis tout mon fichier, mon tableau est beaucoup plus gros et il y a des lignes ou je ne veux pas qu'il coche.

feuille 1 evaluation; feuille 2 evaluation(2)

merci d'avance de l'aide
 

Pièces jointes

Re : problème vba

Bonjour louna72, salut Hervé 🙂

Je voulais, avant tout, saluer un des (beaucoup trop) rares passages d'Hervé 😀

louna72 à dit:
[...]mon problème est un peu plus compliqué.
Je n'avais pas mis tout mon fichier
Il vaut toujours mieux, louna72, déposer un fichier représentatif de la réalité (ou alors ajouter des explications qui détaillent le contexte).

Pour ta Feuil1 (Évaluation), voici une approche qui permet de raccourcir ton code:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column < 3 Or Target.Column > 6 Then Exit Sub
  Select Case Target.Row
    Case 3 To 14, 16 To 24, 26 To 40, 42 To 52, 54 To 60, 62 To 74, 76 To 85
        Range(Cells(Target.Row, 3), Cells(Target.Row, 7)).ClearContents
        Target = "X"
  End Select
End Sub

L'inconvénient est qu'il faut lister tous les n° de lignes des plages concernées. Il faudra donc tout adapter à ta feuille Évaluation(2) mais également à chaque ajout/suppression de lignes dans une de ces feuilles.

Une autre solution serait de placer dans une colonne supplémentaire (éventuellement masquable) un "repère" pour marquer les lignes à prendre en considération.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
155
Réponses
12
Affichages
331
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…