Erreur "Sub ou Function non définie" sur "Call ClearClipBoard"
Bonjour à tous,
J'avais un fichier excel qui fonctionnait correctement. En le faisant évoluer, j'ai dû faire une erreur, car j'ai un message "Erreur de compilation: Sub ou Function non définie".
La fonction qui crée le problème est: "Call ClearClipboard".
(Je vide le presse papier, car je m'en sers dans la macro).
Que dois je faire pour que cela fonctionne de nouveau.
Merci beaucoup pour votre aide.
Bonjour,
Il faudrait le fichier. Est ce que la macro ClearClipboard existe dans le fichier?
Bonjour,
Et merci pour la réponse. Je pensais que la fonction "ClearClipboard" était native à excel.
Je vous met la partie de la macro concernée:
Sheets("Sauvegardes").Range("D3:D200").Copy Sheets("Organisation").Range("D3:D200")
Sheets("Sauvegardes").Range("F3:J200").Copy Sheets("Organisation").Range("F3:J200")
' Je vide le presse papier
Application.CutCopyMode = False
Call ClearClipboard
Je voulais simplement vider le presse papier.
Bonjour
Autrement dit, je voudrais savoir si c'est nécessaire de vide le presse papier, et comment il faut faire le cas échéant.
Merci beaucoup
Re
J'aurais plutot écrit:
Sheets("Organisation").Range("D3:D200")=Sheets("Sauvegardes").Range("D3:D200")
Sheets("Organisation").Range("F3:J200")=Sheets("Sauvegardes").Range("F3:J200")Il me semble que cela évite de copier/coller
Bonjour et merci pour la réponse...
J'ai essayé de remplacer mes lignes par les votres: j'ai ce message d'erreur:
J'avais mis en commentaire toutes les autres. Cela ne fonctionne pas. J'ai une erreur 400...
Je vous mets le code de la procédure:
Sub Creationfeuille()
Dim DebutEcriture As Integer
Dim ColEncoursTabAP As Integer
Dim dernierecolonne As Integer
Dim i As Integer
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets("Organisation").Range("D3:D200") = Sheets("Sauvegardes").Range("D3:D200")
Sheets("Organisation").Range("F3:J200") = Sheets("Sauvegardes").Range("F3:J200")
' Effacer le tableau d'organisation
Sheets("Organisation").Rows("3:160").EntireRow.Delete
dernierecolonne = WorksheetFunction.CountA(Sheets("tableau AP").Range("D7:AZ7"))
DebutEcriture = 3
ColEncoursTabAP = 4
'Ecriture des num_ros des formations et de leur nom
For i = 1 To dernierecolonne
Sheets("Organisation").Cells(DebutEcriture, 1).Value = Sheets("tableau AP").Cells(7, ColEncoursTabAP)
Sheets("Organisation").Cells(DebutEcriture, 2).Value = Sheets("tableau AP").Cells(6, ColEncoursTabAP)
Sheets("Organisation").Cells(DebutEcriture, 3).Value = Sheets("tableau AP").Cells(194, ColEncoursTabAP)
For j = 1 To 5
Sheets("Organisation").Rows(DebutEcriture + j).EntireRow.Insert
Next j
'Fusion des lignes
Range("A" & DebutEcriture, "A" & DebutEcriture + 4).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("B" & DebutEcriture, "B" & DebutEcriture + 4).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("C" & DebutEcriture, "C" & DebutEcriture + 4).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A" & DebutEcriture, "J" & DebutEcriture + 4).Select
With Selection
.BorderAround LineStyle:=xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.RowHeight = 34
End With
Call EcritureGroupe(ColEncoursTabAP, DebutEcriture)
'Ajouter une ligne noire
Range("A" & DebutEcriture, "J" & DebutEcriture + 4).Select
With Selection
.BorderAround LineStyle:=xlDouble
End With
DebutEcriture = DebutEcriture + 5
ColEncoursTabAP = ColEncoursTabAP + 1
Next i
Sheets("Organisation").Range("D3:D200") = Sheets("Sauvegardes").Range("D3:D200")
Sheets("Organisation").Range("F3:J200") = Sheets("Sauvegardes").Range("F3:J200")
'Sheets("Sauvegardes").Range("D3:D200").Copy Sheets("Organisation").Range("D3:D200")
'Sheets("Sauvegardes").Range("F3:J200").Copy Sheets("Organisation").Range("F3:J200")
' Je vide le presse papier
' Application.CutCopyMode = False
' Call ClearClipboard
'Cacher lignes sans effectif
DerniereLigneOrga = WorksheetFunction.Match("FIN", Sheets("Organisation").Columns("G"), 0) - 1
For i = 3 To DerniereLigneOrga
If Sheets("Organisation").Cells(i, 5).Value <> "" Then
Sheets("Organisation").Rows(i).EntireRow.Hidden = False
Else
Sheets("Organisation").Rows(i).EntireRow.Hidden = True
End If
Next i
'Ajouter une ligne noire
DebutCadre = 3
FinCadre = 7
For i = 0 To 21
Range("A" & DebutCadre, "J" & FinCadre).Select
With Selection
.BorderAround LineStyle:=xlDouble
End With
DebutCadre = DebutCadre + 5
FinCadre = FinCadre + 5
Next i
Application.EnableEvents = True
Application.ScreenUpdating = True
End SubRe
Sans fichier je ne sais pas faire, désolé.
Merci .. je vais voir pour anonymer le fichier …