Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonjour,
Je n'arrive pas à adapter mon code afin de permettre, quand on clique sur la colonne J "Ranger" ou sur la colonne K "Prendre" de la "Feuil1" sa me le copie sur feuille "Impression" et du coté gauche pour "Ranger" et droite pour "Prendre". Et quand on re-clique sur la cellule de la Feuil1 sa me l'efface de la feuille "Impression"
est prévu pour copier une ligne. Si vous voulez copier l'ensemble du tableau, dans ....":I" & Target.Row.... remplacez Target.Row par une variable contenant la dernière ligne de ce tableau ( comme vous l'avez fait pour déterminer la dernière ligne de la feuille "impression")
A+
et merci pour If Target.Count = 1 And Target.Column = 10 And Target.Row > 1 Then
actuellement si vous cliquez (en J ou en K) au regard d'un article , dans la cellule cliquée apparait Fait et la feuille impression est mise à jour comme souhaitée
si on clique sur Fait, la ligne est effacée de la feuille impression
Cela ne fonctionne pas correctement sur la colonne K quand tu sélectionne plusieurs cellules, pour la colonne J quand tu sélectionne plusieurs cellules et ensuite déselectionne il en reste un qui ne s'efface pas.
effectivement et même pour un seul article c'est hasardeux!
Pour la partie If Target.Count = 1 And Target.Column = 10 And Target.Row > 1 Then
Vous pouvez (ou même devez) supprimer l'utilisation de la variable Fait qui est toujours à False; de plus le contenu de la cellule en colonne J nous renseigne savoir le traitement est fait ou non.
Vous devez supprimer les Target.Offset(, 1).Select qui n'apportent que confusion, à chaque clic dans la colonne J on se retrouve en colonne K. En les supprimant on reste sur la cellule cliquée.
Sinon dans la partie If Target = "" Then .... Else ( partie écriture dans la feuille Impression) rien à signaler.
Par contre dans la partie Else .... End If ( partie suppression de l'écriture en feuille Impression) plusieurs choses:
Derli = .Range("A65536").End(xlUp).Row + 1 on cherche la dernière ligne écrite en colonne A, faire +1 nous donne la ligne d'après. c'était utile dans la partie écriture pour commencer l'écriture sur la ligne vide suivant les dernières données. Donc on supprime +1 ( mais c'est plus pour le principe car ça ne créait pas de dysfonctionnements)
Entre For Each cell et Next on cherche dans la plage de la feuille Impression le libellé de l'article pour lequel on clique en colonne J pour le supprimer. Mais:
Les libellés en feuille Impression sont en colonne A et on trouve: For Each cell In .Range("J2:J" & Derli)
Le libellé en feuille 1 se trouve 8 colonnes avant la cellule J (dans laquelle on vient de cliquer) et on trouve: If Target.Offset(, 1) = cell Then ......
il y a peu de chance que l'on trouve l'article !
Puis on trouve :If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Sachant qu'il y a deux tableaux côte à côte en feuille impression (1 pour les articles à ranger, l'autre pour les articles à prendre), le fait de supprimer la ligne entière dans le premier tableau va aussi supprimer une ligne de l'autre tableau. Il faut donc restreindre la suppression aux colonnes A à H :
- 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.