Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Problème avec copie des case à cocher

degards

XLDnaute Occasionnel
Bonjour à vous !!! j'aimerais un petit coup de main pour régler mon problème. Dans mon fichier joint, que j'ai dû simplifier énormément pour cause de confidentialité, j'aimerais pouvoir copier des case à cocher sans que leur nom incrémente. Pour débuter, tout dépendant du moment de la journée les cases BR1:EB12 peuvent être copié en A1 et remplacé le tableau présent. Et ensuite BR19:EB30 pourrait revenir prendre sa place. Il est à noter que j'ai créé une macro qui s'occupe de copié le bon tableau en fonction du moment de la journée où on ouvre le fichier. De plus, pour le tableau BR1:EB12, une case à cocher au nombre pair seulement fait l'affaire.

Les case à cocher représente les lignes que j'aimerais bien imprimer. Par défaut la première doit s'imprimer. Jusque là ça va j'ai bien réussi. Mais tout se gâche lorsque les tableaux se copient comme expliqué dans le premier paragraphe. Les case à cocher se multiplie. J'ai tenté de créer une macro pour les effacer au fur et à mesure mais les noms case à cocher s'incrémentent sans que je le demande. En gros, elle prends un des deux tableaux spécifié auparavant et elle fait un copié coller en A1 ce qui a pour effet d'écraser ce qui est déjà en place.

Donc existe-t-il un moyen pour faire en sorte que j'ai l'option d'imprimer les lignes que je veux à l'aide d'une case à cocher par exemple.

J'espère avoir été assez clair pour que vous puissiez m'aider.

Merci à l'avance !!

Degards
 

chris

XLDnaute Barbatruc
Bonjour à tous
Plutôt que des cases à cocher qui compliquent et alourdissent, utilise plutôt le cochage/décochage de cellule par double clic.

Ton explication parait embrouillée sans fichier
 

degards

XLDnaute Occasionnel
@chris : j'aime bien votre idée et j'ai trouvé une solution mais elle bogue à la ligne :
If p = UBound(temp) + 1 Then p = 0.

Voici la macro en question:
VB:
Private Sub Worksheet_beforedoubleclick(ByVal target As Range, cancel As Boolean)
    temp = Array("X", "")
    If Not Application.Intersect(target, Range("w6:x16")) Is Nothing Then
    With target
p = Application.Match(target, temp, 0)
If Not IsError(p) Then
    If p = UBound(temp) + 1 Then p = 0
Else
    p = 0
End If
target = temp(p)
cancel = True
End With
End If
End Sub

Ensuite, j'aimerais précisé que plusieurs feuilles vont s'imprimer à avec comme entête le nom situé dans la colonne et dont la case ou la cellule à cocher aura été activé.

J'espère être plus claire avec mon fichier joint.
 

Discussions similaires

Réponses
18
Affichages
528
Réponses
5
Affichages
431
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…