Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

OpenClipboard

4 réponses
Avatar
Sunburn
Bonjour,
je souhaite vider mon presse papier. j'ai cette macro.
mais comment s'utilise-t-elle?
dois-je la mettre dans un module à part ?
elle s'execute quand ? tout le temps ? à ma demande ? lors de la fin d'un
processus qui nécessite le vidage ??
Merci de vos réponse.
YANN

-----
Private Declare Function OpenClipboard Lib "user32" _
(ByVal hwnd As Long) As Long

Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

'Si tu écris ta macro dans un autre module, tu devras enlever le mot Private
en début de chacune des déclaration des API

Sub Vider_Presse_Papier()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub
-----

4 réponses

Avatar
michdenis
Lorsque tu en as de besoin dans la procédure de ton choix
au moment que tu choisiras, tu appelles la procédure
simplement par son nom.

Vider_Presse_Papier



"Sunburn" a écrit dans le message de groupe de
discussion :
Bonjour,
je souhaite vider mon presse papier. j'ai cette macro.
mais comment s'utilise-t-elle?
dois-je la mettre dans un module à part ?
elle s'execute quand ? tout le temps ? à ma demande ? lors de la fin d'un
processus qui nécessite le vidage ??
Merci de vos réponse.
YANN

-----
Private Declare Function OpenClipboard Lib "user32" _
(ByVal hwnd As Long) As Long

Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

'Si tu écris ta macro dans un autre module, tu devras enlever le mot Private
en début de chacune des déclaration des API

Sub Vider_Presse_Papier()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub
-----
Avatar
Sunburn
re,
Ok, je te remercie.
mais quel type de procédure stocke des choses dans le presse papier ??
ce genre là ??
merci.
YANN
----
Sub Import30()
'supprimer les anciennes lignes
Application.ScreenUpdating = False
Sheets("30").Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then Rows(I).Delete
Next
'ajoute les lignes
Sheets("30").Select
Range("DETAIL30").Select
For Each C In Worksheets("GA14").Range("A2:A1000")
n1 = Mid(C, 1, 1)
n2 = Mid(C, 1, 3)
n3 = Mid(C, 1, 5)
n4 = Mid(C, 1, 4)
n5 = Mid(C, 1, 4)
n6 = Mid(C, 1, 5)
If n1 = 3 Or n2 = 603 Or n3 = 68173 Or n4 = 6873 Or n5 = 7873 Or n6 = 78173
Then
Selection.EntireRow.Insert Shift:=xlDown
ActiveCell.Offset(0, 0).Select
Range(C, C.Offset(0, 255).End(xlToLeft)).Copy
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
End If
Next
End Sub
-----

ou

----
Sub CalculBalLive()
'supprime la colonne C
Sheets("GA14").Columns("C:C").Delete Shift:=xlToLeft
'calcul de la balance en temps réel
Sheets("GA10").Unprotect
Sheets("GA14").Unprotect
If Sheets("GA14").Range("A3") <> "" Then
Sheets("GA14").Range("A3", "F" &
Sheets("GA14").Range("A65535").End(xlUp).Row).Clear
End If
Sheets("GA10").Range("A3", "F" &
Sheets("GA10").Range("A65535").End(xlUp).Row).Copy
Sheets("GA14").Range("A65535").End(xlUp).Offset(1, 0)
For Each I In Sheets(Array("GA11", "GA12", "GA13"))
If I.Range("C12") <> "" Then
Départ = Sheets("GA14").Range("A65535").End(xlUp).Offset(1, 0).Row
I.Range("C12", "F" & I.Range("C65535").End(xlUp).Row).Copy
Sheets("GA14").Range("A65535").End(xlUp).Offset(1, 0)
I.Range("H12", "H" & I.Range("H65535").End(xlUp).Row).Copy
Sheets("GA14").Range("B" & Départ)
End If
Next
Sheets("GA14").Range("A3", "F" &
Sheets("GA14").Range("A65535").End(xlUp).Row).Interior.ColorIndex = xlNone
Sheets("GA14").Range("A3", "F" &
Sheets("GA14").Range("A65535").End(xlUp).Row).Sort Key1:=Range("A3"),
Order1:=xlAscending
J = 3
Ligne = 2
Do While Range("A" & J).Row < Range("A65535").End(xlUp).Offset(1, 0).Row
If Range("A" & J) <> Range("A" & J - 1) And Range("A" & J) <> Range("A" &
Ligne) Then
Ligne = J
End If
If Range("A" & J) = Range("A" & Ligne) And J > Ligne Then
Range("C" & Ligne) = Range("C" & Ligne) + Range("C" & J)
Range("D" & Ligne) = Range("D" & Ligne) + Range("D" & J)
Range("B" & J).EntireRow.ClearContents
End If
If Range("A" & J) <> Range("A" & J + 1) Then
If Range("C" & Ligne) < Range("D" & Ligne) Then
Range("D" & Ligne) = Range("D" & Ligne) - Range("C" & Ligne)
Range("C" & Ligne) = ""
End If
If Range("C" & Ligne) > Range("D" & Ligne) Then
Range("C" & Ligne) = Range("C" & Ligne) - Range("D" & Ligne)
Range("D" & Ligne) = ""
End If
If Range("C" & Ligne) = Range("D" & Ligne) Then
Range("C" & Ligne) = ""
Range("D" & Ligne) = ""
End If
End If
J = J + 1
Loop
Sheets("GA14").Range("A3", "F" &
Sheets("GA14").Range("A65535").End(xlUp).Row).Sort Key1:=Range("A3"),
Order1:=xlAscending
Sheets("GA14").Range("A" &
Sheets("GA14").Range("A65535").End(xlUp).Offset(1, 0).Row,
"A65535").EntireRow.Delete
'insertion de la colonne C pour la présentation
Sheets("GA14").Columns("C:C").Insert Shift:=xlToRight
Sheets("GA14").Columns("C:C").ColumnWidth = 3
Sheets("GA10").Protect
'Sheets("GA14").Protect
'mettre un quadrillage à blanc sur GA14
Sheets("GA14").Cells.Borders(xlDiagonalDown).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlDiagonalUp).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlEdgeLeft).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlEdgeTop).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlEdgeBottom).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlEdgeRight).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlInsideVertical).LineStyle = xlNone
Sheets("GA14").Cells.Borders(xlInsideHorizontal).LineStyle = xlNone
'verouiller l'onglet GA14
Sheets("GA14").Cells.Locked = True
Sheets("GA14").Cells.FormulaHidden = False
Sheets("GA14").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("GA14").EnableSelection = xlNoRestrictions
'
End Sub
-----
Avatar
michdenis
| mais quel type de procédure stocke des choses dans le presse papier ??
|ce genre là ??

Essentiellement ce sont les commandes qui envoient des données, image...
dans le presse-papier ... chaque fois que tu fais
la commande Édition - copier/couper ->coller ou leur équivalent
Raccourci clavier. Il en va de soi pour les commandes VBA qui sont
le pendant des commandes de la feuille de calcul. L'enregistreur de
macro peut t'aider à les identifier pendant que tu manipules les
de l'interface de calcul. Quand tu effaces le presse-papier, tu ne
touches pas aux variables que tu as définies.
Avatar
Sunburn
re,
ok je te remercie beaucoup, j'y comprend beaucoup mieux.
donc il faut que je le mette en fin de mes procédures où il y a des
copier-coller.
merci.
YANN

"michdenis" a écrit :

| mais quel type de procédure stocke des choses dans le presse papier ??
|ce genre là ??

Essentiellement ce sont les commandes qui envoient des données, image...
dans le presse-papier ... chaque fois que tu fais
la commande Édition - copier/couper ->coller ou leur équivalent
Raccourci clavier. Il en va de soi pour les commandes VBA qui sont
le pendant des commandes de la feuille de calcul. L'enregistreur de
macro peut t'aider à les identifier pendant que tu manipules les
de l'interface de calcul. Quand tu effaces le presse-papier, tu ne
touches pas aux variables que tu as définies.