Mettre des croix automatiquement sous excel
apnegirl
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je ne maitrise pas les macros, mais je me lance.
Je dois créer un fichier destiné à un client qui doit placer des croix dans des cellules sur plusieures feuilles.
2 choses :
- Je voudrais qu'il n'ai qu'a cliquer dans la cellule pour placer une croix (ou a recliquer pour la supprimer)
- Je voudrais faire une synthèse automatique sur une nouvelle feuille avec toutes les réponses "oui" où ressortirait l'ensemble des lignes où il a coché "oui" ainsi que le titre des feuilles correspondantes et le tout mis en page prêt à imprimer.
Voici un exemple de feuille simplifiée :
Il faut savoir que toutes les feuilles ont les mêmes catégories (Type de vérif, Site concerné par la vérification, Référence rég,...).
Merci de l'aide que vous pourrez m'apporter.
Je ne maitrise pas les macros, mais je me lance.
Je dois créer un fichier destiné à un client qui doit placer des croix dans des cellules sur plusieures feuilles.
2 choses :
- Je voudrais qu'il n'ai qu'a cliquer dans la cellule pour placer une croix (ou a recliquer pour la supprimer)
- Je voudrais faire une synthèse automatique sur une nouvelle feuille avec toutes les réponses "oui" où ressortirait l'ensemble des lignes où il a coché "oui" ainsi que le titre des feuilles correspondantes et le tout mis en page prêt à imprimer.
Voici un exemple de feuille simplifiée :
Bruit - locaux de travail Type de vérif. Site concerné par la vérification Référence Régl. Fait oui non oui non Eval et mesurage Article R4433-2 des niveaux de bruit</code>Donc s'il coche oui dans site concerné, dans ma feuille de synthèse je veux retrouver " Bruit - locaux de travail", et en dessous, le type de vérif, la référence règlementaire si c'est fait ou pas.
Il faut savoir que toutes les feuilles ont les mêmes catégories (Type de vérif, Site concerné par la vérification, Référence rég,...).
Merci de l'aide que vous pourrez m'apporter.
A voir également:
- Faire une croix dans une cellule excel
- Comment mettre des croix sur excel - Meilleures réponses
- Faire une croix sur excel - Meilleures réponses
- Aller à la ligne dans une cellule excel - Guide
- Déplacer une colonne excel - Guide
- Excel cellule couleur si condition texte - Guide
- Bloquer une cellule excel - Guide
- Liste déroulante excel - Guide
6 réponses
J'ai comparé les 2 codes pour faire les croix, je ne comprends pas, ils sont identiques et dans ton document ça fonctionne très bien!
Pour la synthèse, le test effectué est très satisfaisant!! Je vais supprimer mes fusions de cellules dans la mesure du possible, y'a du travail!
En revanche il est inutile d'asservir la synthèse avec les "oui" de la colonne G:G, juste avec ceux du "site concerné par la vérif"
Mais comment étendre cette "formule" à toutes mes feuilles?
Je ne sais même pas créer le bouton de génération de synthèse ... Alors de là à l'affecter à sa tâche!!
Merci de l'aide apportée!
Pour la synthèse, le test effectué est très satisfaisant!! Je vais supprimer mes fusions de cellules dans la mesure du possible, y'a du travail!
En revanche il est inutile d'asservir la synthèse avec les "oui" de la colonne G:G, juste avec ceux du "site concerné par la vérif"
Mais comment étendre cette "formule" à toutes mes feuilles?
Je ne sais même pas créer le bouton de génération de synthèse ... Alors de là à l'affecter à sa tâche!!
Merci de l'aide apportée!
il est inutile d'asservir la synthèse avec les "oui" de la colonne G:G,
Alors il convient de remplacer, dans la procédure du command button feuille synthese Tous les :
If .Range("C" & i) = "X" Or .Range("G" & i) = "X" Then
par
If .Range("C" & i) = "X" Then
pour toutes les feuilles du classeur :
il faut ajouter en début de procédure :
Dim ws as WorkSheet
For Each ws in ActiveWorkSheets 'pour toutes les feuilles
et à la fin :
Next ws
voir ici
Alors il convient de remplacer, dans la procédure du command button feuille synthese Tous les :
If .Range("C" & i) = "X" Or .Range("G" & i) = "X" Then
par
If .Range("C" & i) = "X" Then
pour toutes les feuilles du classeur :
il faut ajouter en début de procédure :
Dim ws as WorkSheet
For Each ws in ActiveWorkSheets 'pour toutes les feuilles
et à la fin :
Next ws
voir ici
Salut,
"Mettre des croix" est relativement aisé. Voici le code que j'ai utilisé (merci à michel_m au passage)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C9:D9,G9:H9")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
Par contre, la création de ta feuille synthèse est un vrai casse tête chinois en raison des cellules fusionnées. Et là franchement, je n'arrive pas à grand chose.
Essaye tout de même ceci. Place des croix en colonne "oui" feuil3 et tente d'en faire une synthèse (bouton de commande feuille synthese).
Désolé de ne pas pouvoir t'aider davantage.
Si jamais tu cales encore, reviens ici même et j'essaierai de t'envoyer 1, 2 ou 3 collègues meilleurs que moi la dedans.
"Mettre des croix" est relativement aisé. Voici le code que j'ai utilisé (merci à michel_m au passage)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C9:D9,G9:H9")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
Par contre, la création de ta feuille synthèse est un vrai casse tête chinois en raison des cellules fusionnées. Et là franchement, je n'arrive pas à grand chose.
Essaye tout de même ceci. Place des croix en colonne "oui" feuil3 et tente d'en faire une synthèse (bouton de commande feuille synthese).
Désolé de ne pas pouvoir t'aider davantage.
Si jamais tu cales encore, reviens ici même et j'essaierai de t'envoyer 1, 2 ou 3 collègues meilleurs que moi la dedans.
Merci de cette réponse rapide!!
Voici comment j'interprète :
- J'ouvre VISUAL BASIC (Alt F11)
- Je sélectionne la feuille concernée de mon doc excel
- Une fenêtre s'ouvre, j'y copie-colle la formule
- J'enregistre en haut de visual basic
- Je ferme
- Je teste dans ma feuille en double cliquant
=> Ca ne fonctionne pas :°(
Voici comment j'interprète :
- J'ouvre VISUAL BASIC (Alt F11)
- Je sélectionne la feuille concernée de mon doc excel
- Une fenêtre s'ouvre, j'y copie-colle la formule
- J'enregistre en haut de visual basic
- Je ferme
- Je teste dans ma feuille en double cliquant
=> Ca ne fonctionne pas :°(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ALT + F11
En haut à gauche de la fenêtre VBA il y a une petite fenêtre avec le nom des feuilles et this workbook. double clic sur le nom de la feuille.
Fenêtre centrale : 2 menus déroulants "général" et "je ne sais plus quoi"
Choisir WorkSheets et Before double clic, ce qui nous donne ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
Placer ton code entre les 2 lignes... !! code différrent pour ta feuil2 et ta feuil3 (pas la même plage de cellules prises en compte) :
Feuil2
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C9:D9,G9:H9")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
Feuil3
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C10:D22,G10:H22")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
J'oubliais de dire, ça ne fonctionne pas au clic mais au double clic--
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
En haut à gauche de la fenêtre VBA il y a une petite fenêtre avec le nom des feuilles et this workbook. double clic sur le nom de la feuille.
Fenêtre centrale : 2 menus déroulants "général" et "je ne sais plus quoi"
Choisir WorkSheets et Before double clic, ce qui nous donne ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
Placer ton code entre les 2 lignes... !! code différrent pour ta feuil2 et ta feuil3 (pas la même plage de cellules prises en compte) :
Feuil2
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C9:D9,G9:H9")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
Feuil3
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C10:D22,G10:H22")) Is Nothing Then: Exit Sub
If ActiveCell = "" Then
ActiveCell = "X"
ActiveCell.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Else
ActiveCell = ""
End If
End Sub
J'oubliais de dire, ça ne fonctionne pas au clic mais au double clic--
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Les croix fonctionnent!!
Je n'avais pas compris qu'il fallait sélectionner worksheet et double click sur la fenêtre de la feuille (mais au fait, techniquement, Quelle est l'utilité du général?
Et du "this work book" dont j'ai "lu écrit" de nombreuses références lors de mes recherches ?
J'avais percuté concernant les plages de cellules concernées à modifier! merci merci!!
Je vais de ce pas ajouter cette option à toutes mes feuilles!!
Dans l'attente de tes (vos) conseils pour la suite!
Merci merci!
Je n'avais pas compris qu'il fallait sélectionner worksheet et double click sur la fenêtre de la feuille (mais au fait, techniquement, Quelle est l'utilité du général?
Et du "this work book" dont j'ai "lu écrit" de nombreuses références lors de mes recherches ?
J'avais percuté concernant les plages de cellules concernées à modifier! merci merci!!
Je vais de ce pas ajouter cette option à toutes mes feuilles!!
Dans l'attente de tes (vos) conseils pour la suite!
Merci merci!