Gazzzz
XLDnaute Nouveau
Bonsoir à tous, j’espère que malgré la situation tous le monde se porte pour le mieux.
En cette période de confinement, j’essaie d'améliorer mon excel. Seulement je bute sur un problème de couper/coller entre deux tableau et je n'ai trouvé la réponse nul part. Voici la situation:
Mon fichier comporte 3 feuilles: "import", "portefeuille" et "vendu".
- La feuille "import" possède les données qui se mettent à jours toutes les 60 minutes grâce à une requête internet. J'ai supprimé cette requête du fichier joint pour respecter le forum et ses règles de sécurité. Les données actualisés sont exploitées dans "portefeuille" --> pas de problème
- La feuille "portefeuille" contient un tableau ou je peux déjà ajouter et supprimer des lignes avec des macros que j'ai bidouiller.
Je souhaite ajouté un bouton permettant de basculer une ligne du tableau de "portefeuille" vers le tableau de "vendu" --> J'y suis arrivé en bricolant des information récupérées sur le forum, merci à tous!
Cependant le problème commence ici.
Lorsque je bascule la ligne de "portefeuille" à "vendu", celle-ci continue de récupérer les information en temps réel depuis la feuille "import".
J'en conclu donc qu'il faut utiliser un collage spécial (pastespecial il me semble?) pour ne récupérer que les valeurs du moment de la copie.
J'ai essayé énormément de chose sans résultat, il me semble que c'est impossible.
En effet je n'utilise pas de "coller" ou Paste dans mon code puisque je veux pouvoir sélectionner qu'une cellule pour couper la ligne entière.
Voici mon code (oui il est surement pas très optimisé ^^):
Sub CommandButton_Suppression_de_ligne_Click() 'Fonctionne avec en-tête et en ne sélectionnant qu'une cellule
Dim ChoixRows As Range
Dim AConfirmer
' Choix de la ligne
Set ChoixRows = Application.InputBox(Prompt:="Sélectionnez l'action à vendre", Title:="Choix de l'action", Type:=8)
' Sélection de la ligne
ChoixRows.EntireRow.Select
' Demande de confirmation
AConfirmer = MsgBox(Prompt:="Confirmez la vente de l'action", Title:="Confirmer?", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
' Copie de la ligne
If AConfirmer = vbYes Then ChoixRows.EntireRow.Copy Sheets("Vendu").Range("4:4")
' Suppression de la ligne
ChoixRows.EntireRow.Delete
Sheets("Vendu").Select
Range("F4").Select
Selection.EntireRow.Insert
Range("A1").Select
End Sub
Je mets le fichier également.
Je continue de chercher, si quelqu'un peut me venir en aide ça serai génial.
Je ne suis pas très compétent sur excel, je découvre et essaye de m’intéresser au mieux, toute explication ou piste est la bienvenue.
Merci pour votre aide.
Bonne soirée et soyez prudents.
Quentin.
En cette période de confinement, j’essaie d'améliorer mon excel. Seulement je bute sur un problème de couper/coller entre deux tableau et je n'ai trouvé la réponse nul part. Voici la situation:
Mon fichier comporte 3 feuilles: "import", "portefeuille" et "vendu".
- La feuille "import" possède les données qui se mettent à jours toutes les 60 minutes grâce à une requête internet. J'ai supprimé cette requête du fichier joint pour respecter le forum et ses règles de sécurité. Les données actualisés sont exploitées dans "portefeuille" --> pas de problème
- La feuille "portefeuille" contient un tableau ou je peux déjà ajouter et supprimer des lignes avec des macros que j'ai bidouiller.
Je souhaite ajouté un bouton permettant de basculer une ligne du tableau de "portefeuille" vers le tableau de "vendu" --> J'y suis arrivé en bricolant des information récupérées sur le forum, merci à tous!
Cependant le problème commence ici.
Lorsque je bascule la ligne de "portefeuille" à "vendu", celle-ci continue de récupérer les information en temps réel depuis la feuille "import".
J'en conclu donc qu'il faut utiliser un collage spécial (pastespecial il me semble?) pour ne récupérer que les valeurs du moment de la copie.
J'ai essayé énormément de chose sans résultat, il me semble que c'est impossible.
En effet je n'utilise pas de "coller" ou Paste dans mon code puisque je veux pouvoir sélectionner qu'une cellule pour couper la ligne entière.
Voici mon code (oui il est surement pas très optimisé ^^):
Sub CommandButton_Suppression_de_ligne_Click() 'Fonctionne avec en-tête et en ne sélectionnant qu'une cellule
Dim ChoixRows As Range
Dim AConfirmer
' Choix de la ligne
Set ChoixRows = Application.InputBox(Prompt:="Sélectionnez l'action à vendre", Title:="Choix de l'action", Type:=8)
' Sélection de la ligne
ChoixRows.EntireRow.Select
' Demande de confirmation
AConfirmer = MsgBox(Prompt:="Confirmez la vente de l'action", Title:="Confirmer?", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
' Copie de la ligne
If AConfirmer = vbYes Then ChoixRows.EntireRow.Copy Sheets("Vendu").Range("4:4")
' Suppression de la ligne
ChoixRows.EntireRow.Delete
Sheets("Vendu").Select
Range("F4").Select
Selection.EntireRow.Insert
Range("A1").Select
End Sub
Je mets le fichier également.
Je continue de chercher, si quelqu'un peut me venir en aide ça serai génial.
Je ne suis pas très compétent sur excel, je découvre et essaye de m’intéresser au mieux, toute explication ou piste est la bienvenue.
Merci pour votre aide.
Bonne soirée et soyez prudents.
Quentin.