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

XL 2016 Copier une ligne dans une autre feuille

nemrod57

XLDnaute Nouveau
Bonjour,

j'ai fait un formulaire ou l'on rentre differentes informations personnels.
on peut y ajouter, rechercher, modifier et supprimer des personnes... et tout fonctionne très bien. Tout se pilote à partir de l’UserForm et les données vont dans la feuille BDD.
J'avoue je ne suis pas un crack en VBA et je me suis aidé de beaucoup de forums et tutos.

Je me heurte je pense a simple problème que je n’arrive pas résoudre d’une copie de ligne qui va être supprimée. Je sélectionne le nom de la personne à supprimer dans la ComboBoxNom et je clique sur un bouton commande supprimer. La ligne de la personne s’efface bien de la BDD mais avant quelle s’efface je voudrais sauvegarder la ligne entière dans une autre feuille.


Code VBA de la suppression :
Private Sub CommandSupprimer
Worksheets(“ BDD”).select
Rows([A6:A65536].Find(ComboNom.Value).Row).EntireRow.Delete
End Sub

Je suis désolé mais je ne peux pas fournir le fichier car il est sur un pc isolé sur mon lieu de travail.

Merci
 

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir nemrod57

Peut être un truc dans ce genre :
VB:
Private Sub CommandSupprimer_Click()
 Worksheets(“BDD”).Select
Rows([A6:A65536].Find(ComboNom.Value).Row).Cut
 
    Sheets("Feuil2").Range("A1").ActiveSheet.Paste

Rows([A6:A65536].Find(ComboNom.Value).Row).EntireRow.Delete

End Sub
End Sub

Bonne soirée à toutes & à tous
@+ Eric
 

nemrod57

XLDnaute Nouveau
Bonsoir,

Désolé de la réponse tardive mais je rentre juste du travail...

J’ai testé les lignes de commandes et la deuxième me mais un message d’erreur.

Rows([A6:A65536].Find(ComboNom.Value).Row).Cut coupe bien la ligne mais la fait disparaitre en laissant un ligne vide.

Par contre pour Sheets("Feuil2").Range("A1").ActiveSheet.Paste il y a une erreur (error 438) que ça soit sur EXCEL 2016 et 2007. A la pause de midi j’ai fouiné sur des forums anglais j’ai trouvé cela qui fonctionne de même j’ai remplacé le cut par copy pour pouvoir effacer la ligne après l’avoir collé dans la feuille sauvegarde.

Rows([A6:A65536].Find(ComboNom.Value).Row).Copy
ActiveSheet.Paste Destination:=Sheets ("Feuil2").Range("A1”)


Une dernière petite question si vous pouvez m’aiguiller. Dans la feuille de sauvegarde des personnes effacés pour éviter l’écrasement des données j’ai remplacé pour chercher la dernière ligne ActiveSheet.Paste Destination:=Sheets ("Feuil2").Range("A1) par
ActiveSheet.Paste Destination:=Sheets ("Feuil2").Range("A456541").end (xlUp).Row+1

et cela ne fonctionne pas et même avec (xlDown).Row+1

Merci et bonne soirée
 

Discussions similaires

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