|  | auteur : SilkyRoad |  
Dans le volet Presse-papiers, 
cliquez sur le bouton "Options". 
Décochez l'option "Afficher le presse-papiers Office automatiquement".
  	
 
  |  
  |  | auteur : SilkyRoad |  
	Cet exemple copie la feuille nommée "Synthese" dans un nouveau classeur.
  
 | Vba |  
Workbooks("Classeur1.xls").Worksheets("Synthese").Copy
  |  
  |  
  |  | auteur : SilkyRoad |  
Pour désactiver le mode couper/copier, utilisez:
  
 | Vba |  
Application.CutCopyMode = False
  |  
 
 
  
Cela a pour conséquence de griser le bouton Coller et d'empêcher le collage de données.
  	
 
  |  
  |  | auteur : SilkyRoad |  
Utilisez cette procédure pour vider le contenu du presse papier.
  
 | Vba |  
Sub ViderPressePapier()
Dim Cible As dataObject
Set Cible = New dataObject
Cible.setText ""
Cible.putInClipboard
Set Cible = Nothing
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  
Pour récupérer du texte contenu dans le presse papier, vous pouvez utiliser:
  	
 | Vba |  
Sub recupererTextePressePapier()
Dim Resultat As String
With New dataObject
    .GetFromClipboard
    Resultat = .GetText(1)
End With
MsgBox Resultat
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  
	Il s'agit d'un bug connu: La constante xlPasteColumnWidths peut renvoyer un message d'erreur dans certains cas.
  
 | Vba |  
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, _ 
    Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False 
  |  
 
  
	Pour y remédier, remplacez xlPasteColumnWidths par la valeur 8.  
Par exemple:
  
 | Vba |  
ActiveSheet.Range("A1").PasteSpecial Paste:=8, _ 
    Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
  |  
  |  
  |  | auteur : SilkyRoad |  | Vba |  
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.CutCopyMode = False
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CutCopyMode = False
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  
Cet exemple permet de coller l'image d'un UserForm dans la feuille de calcul.
  
 | Vba |  
Option Explicit
Private Declare Sub keybd_event Lib "user32" ( _
    ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
Private Sub commandButton1_Click()
    keybd_event vbKeySnapshot, 1, 0&, 0&
    DoEvents
    
    Range("A1").Select
    ActiveSheet.Paste
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  | Vba |  
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub Image_ClipBoard()
Dim x As Byte
Dim Sh As Shape
Dim monImage As String
x = ActiveSheet.Shapes.Count
Application.ScreenUpdating = False
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
If x = ActiveSheet.Shapes.Count Then
    Application.ScreenUpdating = True
    MsgBox "Opération annulée"
    Exit Sub
    
    Else
    
    
    Set Sh = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
    
    monImage = "C:\monImage.jpg"
    
    
    With ActiveSheet.ChartObjects.Add(0, 0, Sh.Width, Sh.Height).Chart
        .Paste
        
        .Export monImage, "JPG"
    End With
    
    
    With ActiveSheet
        .ChartObjects(ActiveSheet.ChartObjects.Count).Delete
        .Shapes(ActiveSheet.Shapes.Count).Delete
    End With
    
    Application.ScreenUpdating = True
    
    
    
    
    
    
    
    ShellExecute 0, "open", "rundll32.exe", _
        "C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & monImage, 0, 1
End If
End Sub
  |  
  |  
 
 
 
						Consultez les autres F.A.Q's
					 
 Les sources présentés sur cette pages sont libre de droits,
			et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
			Copyright ©2008 
			Developpez LLC. Tout droits réservés Developpez LLC.
			Aucune reproduction, même partielle, ne peut être faite de ce site et de
			l'ensemble de son contenu : textes, documents et images sans l'autorisation
			expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
			de prison et jusqu'à 300 000 E de dommages et intérets.
			Cette page est déposée à la SACD. 
												 |