[VBA - Excel] - RESOLU - Erreur de focus sur fonction "simple"

- RESOLU - Erreur de focus sur fonction "simple" [VBA - Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 28-11-2006 à 17:59:40    

Salut tout le monde,
 
[Fausse manip lors d'un edit, le message suivant est une approximation du message original...désolé].
J'ai fait une macro qui prend un fichier et le met dans un nouveau répertoire, jusque là tout va bien. Par contre, ensuite je veux faire un copier/coller entre mon fichier excel actif et le fichier copié et là c'est le drame...
Erreur 1004 - Le focus ne peut être déplacé sur le contrôle car celui-ci est invisible, non activé, ou d'un type d'acceptant pas le focus.
 
J'ai cherché ce qu'est le focus mais je ne vois pas en quoi il intervient dans ma macro.
J'ai essayé les Visible = True et .Activate mais ca n'a pas marché... je suis désespéré  :cry:  
 
Si quelqu'un a qui peut m'indiquer d'où peut venir mon erreur je lui en serais très reconnaissant
 
Grand merci d'avance
 
Daboos
 
 


Private Sub CommandButton2_Click()
 
   Dim Repert As String
   Dim NomRepertoire As String
   Dim Racine As String
   Dim Wbk1 As Workbook, Wbk2 As Workbook
   
   Racine = "C:\Documents and Settings\ba\Bureau\laboratoire excel\Stockage virtuel\"
   NomRepertoire = "20" & Right(Worksheets(2).Cells(11, 7), 2) & Mid(Worksheets(2).Cells(11, 7), 4, 2) & Mid(Worksheets(2).Cells(11, 7), 1, 2) & Worksheets(2).Cells(14, 7).Text & "\"
       
   Call CopyFolder("C:\Documents and Settings\ba\Bureau\laboratoire excel\CD type", Racine)
   Name "C:\Documents and Settings\ba\Bureau\laboratoire excel\Stockage virtuel\CD type" As "C:\Documents and Settings\ba\Bureau\laboratoire excel\Stockage virtuel\" & NomRepertoire
   
    Set Wbk1 = ThisWorkbook
    Set Wbk2 = Workbooks.Open(FileName:="C:\Documents and Settings\ba\Bureau\laboratoire excel\Stockage virtuel\" & NomRepertoire & "DEMANDE_CEE.xls" )
         
   Wbk2.Worksheets(7).Range(Cells(11, 7), Cells(19, 7)).Value = Wbk1.Worksheets(2).Range(Cells(11, 7), Cells_(19,7)).Value
   
   a = MsgBox("Le dossier a bien été archivé", vbOKOnly)
 
End Sub


Message édité par daboos le 29-11-2006 à 11:33:49
Reply

Marsh Posté le 28-11-2006 à 17:59:40   

Reply

Marsh Posté le 29-11-2006 à 09:09:43    

Bonjour,
Il plante sur quelle ligne ?


Message édité par Paul Hood le 29-11-2006 à 09:10:02
Reply

Marsh Posté le 29-11-2006 à 09:56:02    

Bonjour Paul Hood,
 
Il plante sur la copie de cellules à la ligne
Wbk2.Worksheets(7).Range(Cells(11, 7), Cells(19, 7)).Value = Wbk1.Worksheets(2).Range(Cells(11, 7), Cells(19, 7)).Value  

Reply

Marsh Posté le 29-11-2006 à 10:49:26    

En mettant "K7:S7" à la place de cells(11,7),cells(19,7) ca devrait fonctionner mieux.

Reply

Marsh Posté le 29-11-2006 à 11:20:30    

ca marche impec...  :jap:  
merci beaucoup :D !!!!!
Par contre, est-ce que tu peux m'expliquer rapidement pourquoi ca marchait pas avant? Je vois pas la différence entre Range("G11:G17" ) et Range(Cells(11,7),Cells(19,7)).... Et ca m'intéresse de comprendre d'où viennent mes erreurs :)
 
Encore merci, j'étais bien bloqué


Message édité par daboos le 29-11-2006 à 11:21:38
Reply

Marsh Posté le 29-11-2006 à 14:54:09    

En fait, il me semble que par défaut cells(1,7) retourne la valeur de la cellule. Si tu veux conserver cells il faut mettre cells(11,7).address.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed