Couper coller VBA supprimer formules

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 Vendre() 'Fonctionne avec en-tête et en ne selectionnant 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.

Bonjour,

un essai à minima:

Sub Vendre() 'Fonctionne avec en-tête et en ne selectionnant qu'une cellule

Dim ChoixRows As Range, ChoixVente As Range, Ligne As Long
Dim AConfirmer
With Worksheets("Portefeuille")
    ' 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
    Ligne = ChoixRows.Row
    Set ChoixVente = .Range("F" & Ligne & ":O" & Ligne)
    'ChoixRows.EntireRow.Select
    ' Demande de confirmation
    AConfirmer = MsgBox(Prompt:="Confirmez la vente de l'action", Title:="Confirmer?", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
    If AConfirmer = vbYes Then
        ' Copie de la ligne
        Sheets("Vendu").Range("F4:O4") = ChoixVente.Value
        ' Suppression de la ligne
        .Rows(Ligne).Delete
        'ajout ligne vierge
        Sheets("Vendu").Range("F4").EntireRow.Insert
    End If
    .Range("A1").Select
End With
End Sub
End Sub

A+

Bonsoir à tous,

AlgoPlus, ton code fonctionne parfaitement

J'essaye à présent de le comprendre, j'avoue avoir encore un peu de mal

J'ai juste supprimé le double "end sub"

J'y ai passé certainement plus de 5 heures... mais j'aurai appris beaucoup de choses quand même pendant mes essais!

Un grand merci pour ta générosité, je suis moi-même participatif sur d'autres forums dans des domaines bien différents (ceux ou je suis compétent ) et j'aide également dès que possible. C'est vraiment agréable quand ça marche dans l'autre sens!!!

Encore merci, bonne soirée à tous, prenez soin de vous!

Quentin.

Rechercher des sujets similaires à "couper coller vba supprimer formules"