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 STEF
  • 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 !

S

STEF

Guest
étant donné que j'ai conçu un tableau de 200 lignes, et que je ne voudrai pas faire une macro par ligne.Est-il possible de pouvoir exécuter une macro selon un choix de ligne au préalable?
1 je sélectionne la ligne voulue.
2 j'exécute la macro (ex: imprime la ligne).
 
Salut STEF

OUI c'est tout à fait possible... Mais bon faut savoir un peu plus de ton tableau....

Disons que la macro pourra (entre autres) être basée sur "ActiveCell"... avec des "Offset" pour selectionner les cellules adjacentes de la même ligne...

Mais il faudrait au moins savoir combien de colonnes contient ce tableau...

...(?)
@+Thierry
 
salut Thierry merci pour ton début de réponse
mon tableau comporte 31 colonnes
ce que je recherche sait:
Dans une feuille nommée (base) enregistrer une partie de la ligne et la coller sur une autre feuille (sortie vo,vc)
dans le même temps effacé toute la ligne dans la (base).
 
Salut STEF,

La copier où sur l'autre feuille ?
D'autre part, je crois qu'il est plus simple de Couper / Coller, puis d'effacer sur l'autre feuille les données superflues (si ces cellules ne sont pas déjà occupées par d'autres données ou formules).

André
 
Bonsoir Stef et André et tous les ami(e)s

Bon Stef vu que tu n'as pas trouvé de solution (mis à part de t'adresser directement en Bal) voir ce fil .... <http://www.excel-downloads.com/html/French/forum/messages/1_9074_9074.htm>

Voici une solution en "copie/collage"... (attention si tu veux une copie conservant ou non les formules/Formats etc, ici c'est "paste value" donc PLUS de formule ni de formatage...)

Sub ActiveLigneCopy()
Dim Ligne As Integer
ActiveCell.Activate
Range(Selection, Selection.End(xlToLeft)).Activate
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Feuil2").Select
Ligne = Sheets("Feuil2").Range("A65536").End(xlUp).Row + 1
Range("A" & Ligne).Select
Selection.PasteSpecial Paste:=xlValues
Range("A1").Select
Sheets("Feuil1").Activate
Selection.EntireRow.Delete
Range("A1").Select
End Sub

Dans ce code la "Feuil1" est la base de donnée et Feuil2 est la collection des donnée... à adapter à ton classeur...

Je pense que c'est ce que tu veux obtenir, cette macro copie la ligne ou se trouve la cellule active, la reporte dans une autre feuille et ensuite détruit la ligne dans la feuille d'origine... (ne pas utiliser en multi-selection de cellules non adjacente car "EntireRow.delete" provoque un décalage)

Bonsoir
@+Thierry
 
- 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

  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
268
Réponses
1
Affichages
323
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…