Slt , à tous,
comme tu me l'as demandé et en appliquant les conseils de Qwazerty,que je salue, voici comment devrais etre a peu près (
) ton code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Dim ligne As String
'
'Raccourci Ctrl+Shift+P
'
'met dans une variable le classeur ouvert
Set wk1 = Workbooks("Suivi devis et factures.xls")
'ouvre le deuxieme classeur
Workbooks.Open Filename:= _
"D:\ASSOCIATIONS\Devis et Factures\Doc Type.xls"
'met dans une variable le 2eme classeur
Set wk2 = Workbooks("Doc type.xls")
wk1.Activate
With wk1
ligne = InputBox("veuillez saisir le numéro de ligne du document à créer")
If ligne = "" Then
MsgBox "Création du document annulé"
Exit Sub
Else
'Message de vérification (information)
MsgBox "La ligne sélectionnée est la ligne n° " & ligne & ", correspondant au document " & .Sheets("Suivi comptable").Range("A" & ligne)
'On copie et colle la ligne
wk1.Sheets("Suivi comptable").Rows(ligne).Copy wk2.Sheets("Datas").Rows(2)
wk1.Sheets("Suivi administratif").Rows(ligne).Copy wk2.Sheets("datas").Rows(1)
End If
End With
'On visualise le résultat
wk2.Sheets("Document").Activate
End Sub |
Effectivement le code ne fonctionne pas avec le raccourcis clavier. Il ouvre le fichier 2 et s'arrête. pourquoi? ?????? Je ne sais pas. Peux-etre que ton raccourcis (ctrl+maj+P) est utilisé par excel... je ne sais pas.
Si tu met ton code sur un bouton de commande pas de problème donc ...
le code
Application.CutCopyMode = False
sert à enlever la bordure qui scintille lorsque tu sélectionnes une plage que tu la copie et que tu la colle.
Avec la méthode appliquer dans le code tu n'en as pas besoin.
A+
Partager