Je suis nouveau (Cf. page de présentation des arrivants) et j'ai déjà une question sur un code..
J'utilise un onglet excel avec de nombreuses donnée. Je répète une boucle de macro qui filtre sur différents champs et je lui demande de copier les données puis de les coller dans un .ppt.
Mon problème arrive quand lorsque je n'ai pas de donnée. Le message d'erreur est "Shapes.PasteSpecial : Invalid request. Clipboard is empty or contains data which may not be pasted here."
Je voudrais faire un code qui dise "quand data = "" alors tu ne colle rien"" (je pense que ca doit se mettre après "Range(Selection, Selection.End(xlDown)).Select". J'ai essayé plusieurs choses avec des Then & If mais je ne trouve pas le bon code...
A priori je vois que tu utilises un filtre, pourquoi ne pas tester si ll reste des lignes d'affichées après que le filtre soit appliqué... exemple ci-dessous :
Code:
Dim p As Range
Set p = Range("_FilterDatabase")
If WorksheetFunction.Subtotal(3, p.Offset(1).Resize(p.Rows.Count - 1, 1)) = 0 Then Exit Sub
Merci pour votre réponse ! J'ai essayé et ca marche ! Par contre l'inconvénient est que ca ferme la macro car utilise un End Sub. J'ai une dizaine de loop entre mon Sub & mon End Sub.
J'ai trouvé la solution :
J'utilise directement : On Error Goto Loop_XXX
Il suffit de déclarer la loop suivante et des que j'ai une erreur ma macro continu et ne prend pas en compte le message d'erreur.
J'ai un dernier problème (je vais peut-être ouvrir un post dedié) mais tu as peut-être sans doute déja la réponse (et comme tu es déja co..)
Je souhaite ouvrir un excel & un ppt. Je souhaite que les adresses soient inclus dans l'excel ("TdB_MT_Mise en forme.xlsm").Sheets("Menu").Cells(2, 2).Value.
J'ai aucun probleme pour l'excel mais impossible de trouver le bon code pour le PPT. Any ideas?
' **** Ouvrir le Excel MT ****
Workbooks.Open Filename:=Workbooks("TdB_MT_Mise en forme.xlsm").Sheets("Menu").Cells(2, 2).Value
' **** Ouvrir le PPT MT ****
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True Set PptDoc = PPT.Presentations.Open("D:\Users\ST09646\Mes Documents\XX)
Je souhaite avoir un résultat proche de : Set Pptdoc = PPT.Presentations.Open("TdB_MT_Mise en forme.xlsm").Sheets("Menu").Cells(2, 3).Value
pas sûr d'avoir bien compris.. mais si tu as collé des cellules Excel sur une diapositive powerpoint, à mon avis il faut ouvrir d'abord ton power, et ensuite aller chercher "l'objet" (les cellules Excel) sur la diapo en question.... mais bon... jamais fait ce genre de chose... A voir comment et si l'on peut les récupérer....
Effectivement, disons que je me suis mal exprimé sur ce coup la...
Pour faire simple je souhaite juste ouvrir un powerpoint mais je ne veux pas inscrire le chemin dans la macro ("D:\Users\ST09646\Mes Documents\XX) mais juste lui indiquer une cellule dans un fichier excel qui lui contient le chemin vers le powerpoint.