Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

retirer valeur 78 et 12 du tableau temporaire

carlos

XLDnaute Impliqué
Supporter XLD
Bonsoir le forum

J'aimerais savoir comment faire pour retirer d'un tableau temporaire certaines valeurs précises? .

voir piece jointe

Dim i As Integer
Dim TabTemp(1 To 100) As Variant
Columns(1).ClearContents
For i = 1 To 100
TabTemp(i) = i
Next
MsgBox 'Maintenant,comment retirer la valeur 78 et 12 du TabTemp sans passer par les cellules'

merci carlos
 

carlos

XLDnaute Impliqué
Supporter XLD
re

A priori le fichier joint n'est pas passé .Bizarre

le voila : [file name=TableauTemporaire.zip size=7651]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TableauTemporaire.zip[/file]
 

Pièces jointes

  • TableauTemporaire.zip
    7.5 KB · Affichages: 19

Hervé

XLDnaute Barbatruc
re carlos

pour pouvoir modifier les dimensions d'un tableau, il te faut d'abord comprendre qu'il y a deux facon de fixer ses dimensions.

soit lors de la déclaration : dim tabtemp (1 to 100) as variant (ton exemple)

soit dynamiquement à travers le code.

si tu la défini dans ta déclaration, tu ne peux plus modifié ses dimensions.

sinon, tu peux le faire à travers l'instruction redim : redim tabtemp (1 to 200), ici je redimenssionne à la hausse le tableau.

le problème du redim, c'est que non seulement il redimensionne mais en plus il efface les données existantes.

pour conserver les données on rajoute preserve, qui veut bien dire sa fonction :

redim preserve tabtemp(1 to 200)

ici, on a redimensionné et garder les valeurs.

pour ton souci (si j'ai bien compris) tu ne peux pas directement retirer une valeur d'un tableau.

il te faut faire une boucle pour 'ecraser' la valeur inutile.

puis redimensionné celui-ci :




tu vois qu'ici, je n'ai pas dimensionné le tableau lors de sa déclaration, mais dynamiquement dans le code grace à redim preserve.

si tu veux manipuler des données facilement : retirer ou ajouter des valeurs, il existe un autre type de tableau : les collections.

mais ca, c'est une autre histoire.

salut

ps : j'espère ne pas avoir dit trop de c......ies :unsure:
 

pat1545.

XLDnaute Accro
Salut,

suis pas top en tableau mais ceci fait une boucle de et n'y mets les valeurs 12 et 78 mais il y a certainement mieux

Sub moinss()
Columns(1).ClearContents
Dim i As Integer
Dim TabTemp(1 To 100, 1 To 1) As Variant
Dim Plg As Range
Set Plg = Range('A1:A100')
For i = 1 To 100
If i = 12 Or i = 78 Then
GoTo suivant
End If
TabTemp(i, 1) = i
suivant:
Next
Plg = TabTemp
End Sub

Bye
 

carlos

XLDnaute Impliqué
Supporter XLD
Bonsoir Hervé , bonsoir Pat1545bonsoir le forum

D'abord merci pour ta présnce sur ce forum.
Tu été là ce matin pour me donner un sacré coup de main et me faire avancé et tu es encore ici ce soir à m'expliquer les dimensions d'un tableau.

Je peux te rassuré , tu ne raconte pas de C ......
Bref ....

En faite les deux sujets (ce matin et ce soir) se rejoignent un peu.
donc suite à ta réponse de ce matin , j'ai réussi à intégrer ta proposition dans mon projet SAUF QUE j'ai plusieurs périodes de vacances (Eh oui).Aie !!!!!
j'en avais proposé qu'une pour simplifier les choses en pensant regler le probleme plus tard mais ....J'ai pas réussi à gerer .
C'est pour cela que j'ai choisi une autre formule,celle que je proposée dans ce post mais à priori c'est pas aussi facile que ca .

En résumé le fichier joint est plus parlant:

Je souhaite remplir un tableau temporaire de tous les 'lundis' entre 2 dates.Puis lui retirer tous les lundis des multiples vacances .(Voir onglet 'vacances')

Je crois que c'est moi qui dit des C.........s


Si quelqu'un me comprends , voici exactement ce que je veux au final .Voir Pj [file name=TabTemp_20060326193438.zip size=13018]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabTemp_20060326193438.zip[/file]
 

Pièces jointes

  • TabTemp_20060326193438.zip
    12.7 KB · Affichages: 18

pierrejean

XLDnaute Barbatruc
bonjour carlos

bonjour Hervé


Hervé a parfaitement répondu à la question posée avec en prime toutes les explications souhaitables

pour ma part je vais faire ce que j'essaie de ne pas faire habituellement à savoir répondre à une autre question:

comment ne pas enregistrer 12 et 78 dans le TableTemp (ce qui evite d'avoir à les retirer) [file name=RetirerUneValeur.zip size=7587]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RetirerUneValeur.zip[/file]

mes excuses à tous je n'avais pas rafraichi

Message édité par: pierrejean, à: 26/03/2006 20:06

Message édité par: pierrejean, à: 26/03/2006 20:07
 

Pièces jointes

  • RetirerUneValeur.zip
    7.4 KB · Affichages: 16

Hervé

XLDnaute Barbatruc
re carlos, bonsoir pat, pierrejean

essayes comme ceci :




si tu ne comprend pas un point, n'hésites pas à revenir.

tu n'aurais pas un souci d'année dans tes texbox ? tu commences en 2004 ?

j'ai pas trop testé

salut
 

Hervé

XLDnaute Barbatruc
re tout le monde

tout à l'heure je parlais d'utiliser des collections.

voici appliquer à ton soucis, ce que ca pourrait donner.

il me semble que le code est plus lisible.




salut
 

carlos

XLDnaute Impliqué
Supporter XLD
Tout ce que je vais dire est sincére .

Il est 21h21 et je découvre plusieurs réponses de Hervé à mes demandes , un suivi depuis ce matin de MichelXld, un conseil de Robert....
Je suis impréssionné par les membres de ce site et de leurs qualités , de leurs rapidités.
En plus j'ai fait tourné en rond un peu Hervé depuis ce matin (moi meme à la recherche d'une solution)par 2 posts....
Et sa réponse est toujours aussi courtoise et orientée sur une aide pédagogique et respectueuse.
Apres mon dernier post je me suis dit que j'abusais et que finallement je ne méritais aucune réponse.Eh bien , NON j'en ai eu 2,et 2 orientations différentes qui me laissent le choix en dernier recours .Que demander de mieux ? Rien........
Alors là ,Bravo à tous et merci encore pour ce merveilleux site .
On a presque envie d'inventer des questions pour vous entendre nous aider .

Carlos

Sur ce , j'ai du boulot ce soir .....
 

pierrejean

XLDnaute Barbatruc
bonsoir carlos

j'ai amplement profité des explications de Hervé

je te laisse le plus difficile:

controler que je ne me suis pas planté (ça ne m'arrive pas plus d'1 fois sur 2)

Bonne nuit [file name=TabTemp_20060326213800.zip size=17295]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabTemp_20060326213800.zip[/file]
 

Pièces jointes

  • TabTemp_20060326213800.zip
    16.9 KB · Affichages: 17

carlos

XLDnaute Impliqué
Supporter XLD
re tout le monde, bonsoir pierrejean

merci pour ta proposition.

J'ai tésté les mardis entre oct 2005 et sept 2006 et je crois que ca ne fonctionne pas tout a fait .
Je reteste et regarde ton code demain à tete reposée..


Bonne soirée à tous
 

pierrejean

XLDnaute Barbatruc
bonjour carlos

effectivement
en faisant le tableau des jours de vacances j'avais rentré le lundi(2) en dur

version corrigée

mais je t'engage à repartir sur les propositions d'Hervé que je vais potasserau niveau des tableaux (le Redim n'est pas evident) [file name=TabTemp_20060327082413.zip size=17384]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabTemp_20060327082413.zip[/file]
 

Pièces jointes

  • TabTemp_20060327082413.zip
    17 KB · Affichages: 21

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…