Problème Macro Excel 2007

Fermé
Joe - 4 déc. 2011 à 19:48
ccm81 Messages postés 10559 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 mars 2023 - 5 déc. 2011 à 11:09
1. Bonsoir à tous,

J'aurai besoin d'aide sur une macro très simple qui ne fonctionne pas et qui me pose problème.

La fonction de la macro qui bugg est le fait de sélectionner une cellule de la copier, et de la coller sur une autre feuille dans une colonne sur le première cellule vide.

1- Lorsque je créé une forme automatique, que j'affecte la macro avec module sur cette forme la macro fonctionne très bien :

Sub Enregistrer()

Sheets("FEUIL1").Select
Range("A1").Select
Selection.Copy
Sheets("FEUIL2").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'
End Sub

2- Lorsque je créé un bouton de commande VB, que je lui affecte le même type de code, la macro plante ... !

Private Sub Enregistrer_Click()

Sheets("FEUIL1").Select
Range("A1").Select
Selection.Copy
Sheets("BASE DONNEES").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'
End Sub

Je pense que quelqu'un va trouver sans aucun pb, je n'en doute pas !!!

Merci d'avance à tous.

Jo
A voir également:

2 réponses

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 657
4 déc. 2011 à 21:56
bonjour

Ta première macro est dans un module. Tu as mis la seconde dans le code de la feuille. Il te suffit de garder la première et de l'appeler ainsi dans la seconde.

Private Sub Enregistrer_Click()
    Call Enregistrer
End Sub 
0
ccm81 Messages postés 10559 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 mars 2023 2 337
5 déc. 2011 à 11:09
bonjour

est ce que ceci ne suffirait pas ?

Private Sub Enregistrer_Click()
Dim lifin As Long
lifin = Sheets("BD").Range("A" & Rows.Count).End(xlUp).Row
Sheets("F1").Range("A1").Copy Sheets("BD").Cells(lifin + 1, 1)
End Sub


bonne suite
0