Valeur d'une cellule Excel comme Array

Bonjour à vous,

J'aurais besoin de votre aide: j'ai réalisé une macro qui ouvre un PPT, colle des range excels défini comme image sur certain slides et qui, avant de fermer et d'enrengistrer le pptx, supprime les slides inutiles.

Mon code fonctionne très bien quand je tape une valeur pour mon Array avec les slides à supprimer, par exemple:

Select Case x
Case Is = 1
ppSlidesArr = Array(3, 14, 18)
End Select

pptPres.Slides.Range(ppSlidesArr).Delete

Le problème, c'est que j'aimerais pouvoir supprimer des slides en fonction de la valeur d'une cellule Excel, par exemple le Sheets("Data").Range("G9").Value qui renvoie le texte "3, 14, 18" mais cela ne fonctionne pas:

SlideToRemove = Sheets("Data").Range("G9").Value

Select Case x
Case Is = 1
ppSlidesArr = Array(SlideToRemove)
End Select

pptPres.Slides.Range(ppSlidesArr).Delete

D'avance merci pour votre aide!

Hugo

bonjour,

essaie ceci (non testé)

ppSlidesArr = split(Sheets("Data").Range("G9").Value,",")
pptPres.Slides.Range(ppSlidesArr).Delete

Bonjour H2SO4,

Merci pour ton retour.

Cela ne fonctionne pas directement comme cela mais j'ai creusé entre temps avec un collègue: l'array à besoin de caractère numérique pour et il a fallu convertir un string en un Integer. Voici le code pour info:

SlideToRemove = Split(Sheets("Data").Range("G9").Value, ",")


Dim size As Integer
size = 2
Dim NumSlides(30) As Long

For j = 0 To UBound(SlideToRemove)

NumSlides(j) = CInt(SlideToRemove(j))
Next j

'SUPPRIMER SLIDE NON SELECTIONNES Positioning and views

x = Sheets("Data").Range("F3").Value

Select Case x

Case Is = 1
ppSlidesArr = NumSlides

Rechercher des sujets similaires à "valeur comme array"