Merci beaucoup Phil, effectivement ça allège le fichier
Bonjour à tous,
Merci beaucoup pour vos réponses, voici mon fichier, mais je vais étudier également vos fichiers à vous, j'aime bien comprendre et ne pas recopier "bêtement"
Bonjour tout le monde,Phil69970, Mathos;
si vous permettez Bien sûr,Phil69970,voici une explication de ta solution (selon le Help de Microsoft
) :
1. `Application.ScreenUpdating = False`: Cette ligne désactive la mise à jour de l'écran pendant l'exécution du code.
2. `If Not Application.Intersect(Target, Range("G3:G150, I3:I150, K3:K150, M3:M150, P3
150")) Is Nothing Then`: Cette ligne vérifie si la plage de cellules sélectionnée intersecte l'une des plages spécifiées dans les colonnes G, I, K, M et P, allant des lignes 3 à 150.
3. `If Target.Cells.Count > 1 Then Exit Sub`: Cette ligne vérifie si la sélection contient plus d'une cellule. Si c'est le cas, le code quitte la procédure.
4. `Target = IIf(Target = "X", "", "X")`: Cette ligne change le contenu de la cellule sélectionnée en "X" si elle est vide, et le vide si elle contient déjà "X". Cela permet de basculer entre deux états en cliquant sur une cellule.
5. `[A1].Select`:
Cette ligne sélectionne la cellule A1 après que les autres opérations ont été effectuées. sert uniquement à "sortir" de la cellule sélectionnée afin de pouvoir re-cliquer directement dans cette cellule
Donc, ce code VBA permet de basculer le contenu des cellules sélectionnées entre "X" et vide, uniquement dans les colonnes spécifiées,
A+