Utilisé une variable dans un TDC

C

Cyrille

Guest
Bonjour et merci par avance pour tout coup de main.


Pour ceux qui on lu mon autre poste j'ai toujours un problème à cause d'un tableau dynamique croisé.

Je voudrais lors du lancement de ma macro avoir un lancement d'une boite de dialogue ou je pourrais entrer un nombre que je dois récupérer pour indiquer à mon TDC la taille du tableau.

Pour la boîte de dialogue sa ca doit aller non :

Private Sub TextBox()
If Not IsNumeric(TextBox.Text) Then
Cancel = True ' Annule la validation de contrôle
MsgBox "Veuillez entrer un nombre!"
End If
End Sub

Private Sub CommandButton()
Taille = TextBox.Text
End Sub

Et ma variable taille du tableau devrait ce mettre là :

ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"Feuil1!R1C1:RTailleC8", TableDestination:="", TableName:= _
'juste au dessu là
"Tableau croisé dynamique1"

Comment faire?

Merci
 
@

@+Thierry

Guest
Salut Cyrille, le Forum


Je ne suis pas spécialiste des TCD (ici on dit TCD, tableau croisé dymamique)

Mais j'ai orienté BEBE310 pour une solution pour son GRAPH, qui je pense peut aussi s'appliquer à un TCD...

Lien supprimé

Je pense que ce doit être possible d'adapter...

Bon Courage
@+Thierry
 
C

Cyrille

Guest
Bonjour Thierry.

Avec ta proposition j'ai deux problèmes. D'abord je vois pas le rapport avec du "Drag & Drop" je ne cherche pas à déplacer une données. C'est une donées extérieur a la macro que je veux lui fournir pour qu'elle s'exécute correctement.

Je voudrais juste que dans cette commande "Feuil1!R1C1:RTailleC8",

Ce qui est ma varaible Taille soit interpréter par ce qui est dedans soit un chiffre.

Si Taille = 225 ce que je rentrerai au lancement de ma macro je voudrais que "Feuil1!R1C1:RTailleC8" soit interprété par "Feuil1!R1C1:R225C8" pour le compilateur.
 
@

@+Thierry

Guest
Re Cyrille

Si tu avais eu la patience d'aller jusqu'au post du 6/7/02 à 17:38 soit vers le bas du fil que je t'ai mis en lien ...

Tu aurais lu ceci :


Sub GraphAjoutSerie()
Dim X As Byte
Dim Plage As Range
Dim Nom As String

X = Worksheets("Feuil1").ChartObjects(1).Chart.SeriesCollection.Count

Set Plage = Application.InputBox(prompt:="Sélection de la plage", Type:=8)
Nom = InputBox("Nom de la nouvelle Série")

With Worksheets("Feuil1").ChartObjects(1).Chart
.SeriesCollection.Add Source:=Plage
.SeriesCollection(X + 1).Name = Nom
End With
End Sub


Voilà, à toi d'adapter.... pour un TCD

et pour te reprendre ... par rapport à ton dernier post ...

D'abord je vois pas le rapport avec "je ne peux pas accéder aux codes du projet c'est bloqué par un mot de passe" !!!

Dialogue de sourds !

Bonne nuit
@+Thierry
 
C

Cyrille

Guest
Désole de t'avoir froissé thierry mais mon :
"D'abord je vois pas le rapport avec du "Drag & Drop" je ne cherche pas à déplacer une données"

Est un vrai "je ne vois pas le rapport pas" pas de méprise la deçu, je suis désolé mais il y a beaucoup de chose que je comprend pas est celle ci en fait parti.

Sinon ben j'ai tléchargé ton fichier et je voulais consulter le code afin de voir quelle partie du code donnée quel effet mais quand j'essai d'ouvrir il me demande un mot de passe. Voilà tout.

Sinon désolé de ne pas mettre étendu sur tout le post du forum mais c'ets vrai que pour je comprenne moi il me faut un exemple alors quand j'ai vu ton fichier protégé je me suis déouragé.

Merci quand même...
 
@

@+Thierry

Guest
SAlut Cyrille,

Vite fait car je suis à la bourre...

Tu dois être sous Mac ou sous Excel 97 car ce fichier n'est pas "protégé", il est simplement "certifié" mais c'est vrai que les "SElfCert" n'est pas bien admis par les anciennes version d'Excel.

De toute façon ce n'est pas grave, je te parle depuis hier du post du du 6/7/02 à 17:38 !!! ET PAS de ce drag n drop que vincent avait mis en lien dans ce fil !

Bon Courage
@+Thierry
 
C

Cyrille

Guest
Bonjour et merci aux petits coups de mains.

Donc finalement la solution etait très simple à trouver. Je n'avez pas remarque que le TCD prenait une chaîne de caractère en paramètre.

Une fois que j'ai vu ca il n'y avez plus que concaténé une chaine de caractère comme ceci :
Taille = "Feuil1!R1C1:R" + tempo + "C8"

puis d'utiliser cette variable :

Range("A1").Select
Selection.CurrentRegion.Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
Taille, TableDestination:="", TableName:="Tableau croisé dynamique1"

Merci A+

PS : Il me reste un problème de transformation de . en , encore.
 

Discussions similaires

Réponses
1
Affichages
514

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley