Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Out of stack space

17 réponses
Avatar
rthompson
Bonjour

Quelqu'un a-t-il une idée ce qui peut provoquer ce genre de message?


Erreur no ........... je n'ai pas noté tous les chiffres
Out of stack space


Merci à vous toutes et tous

Et à très bientôt

Rex

7 réponses

1 2
Avatar
garnote
Salut Trirème,

If LaListe = "," Then
Non, Laliste = "" si aucune occurence n'est trouvée. Le dernier code de Rex est correct.


Je trouve ça curieux. Quand je demande le contenu de LaListe dans un MsgBox,
je reçois une virgule quand il n'y a pas de correspondance !!!

Serge

...
LaListe = "": compt = 0
' Construire une liste de validation à partir des 'Offre-Nom' qui conviennent
With Worksheets(Offre)
NumeroColonneOffreNom = Application.Match(OffreNom, .Range(Datas).Resize(1), 0)
' En recherchant la position de la colonne dans la 1ère ligne des Datas,
' On évite les erreurs en cas de déplacement ou ajout de colonnes.
NumeroColonneStatus = Application.Match(Statut, .Range(Datas).Resize(1), 0)
Decalage = NumeroColonneStatus - NumeroColonneOffreNom
For Each c In .Range(Datas).Offset(1, NumeroColonneOffreNom - 1).Resize(, 1)
' La colonne contenant 'Offre-Nom' est cherchée automatiquement
If c.Offset(, Decalage) = [J3] Then
LaListe = LaListe & c & ",": compt = compt + 1
MsgBox LaListe
End If
Next
End With
MsgBox LaListe
...

Avatar
Trirème
Je trouve ça curieux. Quand je demande le contenu de LaListe dans un MsgBox,
je reçois une virgule quand il n'y a pas de correspondance !!!


Effectivement.
Il se trouve que dans le dernier jeu de données fourni par Rex il manque une référence
dans sa 3ème colonne pour la valeur de Status 'paid' (c'est la seule :-( )
En fait la 1ère ligne ('paid') est presque vide.

Peut-être fausdrait-il remplacer :
If c.Offset(, Decalage) = [J3] Then
LaListe = LaListe & c & ",": compt = compt + 1
End If

par :
If c.Offset(, Decalage) = [J3] Then
If IsEmpty(c) Or c = "" Then c = "Référence absente"
LaListe = LaListe & c & ",": compt = compt + 1
End If


Trirème

Avatar
Rex
Bonjour à vous deux

Primo je vous remercie pour la persévérance dont vous faîtes preuve dans
l'aide que vous m'apporté

(C'est-y pas beau comme entrée en matière, ça!!! Hein?????)

Et c'est pas fini!!!

Vos connaissances, votre amabilité et votre savoir-faire conjugués font que
mes problèmes se résolvent l'un après l'autre
avec une régularité de métronome

(Ca, comme lèche-bottes c'est pas mal, hein?????)

Et je continue

Puis je voudrais vous demander humblement pardon de mettre si longtemps à
réagir à vos excellentes propositions
Mais, ici, la pression directorial se fait parfois diversément,
Et ce qui hier matin était une priorité, devint dérisoire hier après-midi et
ce matin suite à un appel relatif à un support technique

Cet après-midi l'arborescence des priorité à retrouvé son aspect antérieure

Donc je me remets au travail ce dimanche de milieu de semaine

Tout cela pour vous dire que vos propositions ont donnés un résultat qui
satisfait ma question première

Ou pour le dire dans un language compréhensible
CA MARCHE !!!!!!!!

MAIS

Faut quand même que j'y mette un mais, non?

Avec ma listbox quand je sélectionnais un nom, la cellule A3 indiquait le
numéros de la ligne adéquate
Comment puis-je obtenir un résulata similaire dans cette nouvelle façon de
travailler

Je suppose qu'une macro événementiel devrait intervenir, non?


Et là, je ne sais même pas ou chercher

Merci pour tout ce que vous avez déjà fait, et j'espère que je peux compter
sur vous pour cet enième coup de pouce

A bientôt

Rex ;-))) )))





"Trirème" a écrit dans le message de news:

Bonjour Serge,

Bien joué ! Effectivement c'est la cause du problème.
Typiquement on se trouve dans la situation où le code élaboré dans un
classeur exemple est

adapté pour le classeur définitif ; les noms changent etc...
Il y aurait eu moins d'ambiguité si j'avais écrit au début :
Consultation = "Tracking_Orders" ' Nom de l'onglet contenant le
'formulaire consultation'


et finalement la ligne en erreur pourrait être :
With Worksheets(Consultation).Range("Offre_Nom").Validation
puisque la cellule J4 est nommé "Offre_Nom"

Cordialement,
Trirème


remplace If LaListe = "" par If LaListe = "," :

If LaListe = "," Then
Non, Laliste = "" si aucune occurence n'est trouvée. Le dernier code de

Rex est correct.



Avatar
Trirème

Avec ma listbox quand je sélectionnais un nom, la cellule A3 indiquait le
numéros de la ligne adéquate
Comment puis-je obtenir un résulata similaire dans cette nouvelle façon de
travailler

Je suppose qu'une macro événementiel devrait intervenir, non?
Que nenni !


Utilise la fonction EQUIV()
Par exemple EQUIV(Offre_Nom;Offers!$C$2:$C$6;0)
où Offre_Nom rest le nom de la cellule J4
et Offers!$C$2:$C$6 la colonne où chercher le contenu de J4

Il vaudrait mieux remplacer 'Offers!$C$2:$C$6' par une petite fonction DECALER qui
rechercherait l'emplacement exacte de la colonne 'Offre-Nom'. C'est ce que faisait la
formule suivante dans une version précédente :
DECALER(Datas;;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) ou
DECALER(Datas;1;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) commence à la 2ème ligne.
où Datas est le nom dynamique ciblant tes données. ATTENTION ! Pas de lignes ni de
colonnes vides !
La fonction recherche le mot "Offre-Nom" dans la 1ère ligne de l'entête de 'Datas'. Le
résultat est une plage d'une seule colonne contenant cet entête.

Cordialement,
Tirème

Avatar
Rex
Bonjour

Toujours fidèle au poste ;-))))

Je dois m'occuper du souper (famille oblige)

Puis j'y travaille et je te tiens au courant ce soir, cette nuit ou demain
matin


Oups, demain matin j'installe, donc ce sera pour demain soir


Rex


"Trirème" a écrit dans le message de news:


Avec ma listbox quand je sélectionnais un nom, la cellule A3 indiquait
le


numéros de la ligne adéquate
Comment puis-je obtenir un résulata similaire dans cette nouvelle façon
de


travailler

Je suppose qu'une macro événementiel devrait intervenir, non?
Que nenni !


Utilise la fonction EQUIV()
Par exemple EQUIV(Offre_Nom;Offers!$C$2:$C$6;0)
où Offre_Nom rest le nom de la cellule J4
et Offers!$C$2:$C$6 la colonne où chercher le contenu de J4

Il vaudrait mieux remplacer 'Offers!$C$2:$C$6' par une petite fonction
DECALER qui

rechercherait l'emplacement exacte de la colonne 'Offre-Nom'. C'est ce que
faisait la

formule suivante dans une version précédente :
DECALER(Datas;;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) ou
DECALER(Datas;1;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) commence à
la 2ème ligne.

où Datas est le nom dynamique ciblant tes données. ATTENTION ! Pas de
lignes ni de

colonnes vides !
La fonction recherche le mot "Offre-Nom" dans la 1ère ligne de l'entête de
'Datas'. Le

résultat est une plage d'une seule colonne contenant cet entête.

Cordialement,
Tirème



Avatar
Rex
Bonjour

Très tard beaucoup trop tard


Mais le boulot a été un peu "secouant" ces derniers jours
Et je dois préparer Déclic numérique pour Mardi !!!!!


Mais entre temps je "chipotte" mon fichier et cela avance

Ta solution fonctionne maintenant impeccablement bien !!!!!

Donc un grand merci à toi et Garnote pour l'aide apportée

J'ai encore des questions, mais je vais lancer un nouveau fil
parceque la question peut intéresser d'autres qui ne suivent pas ce fil

De toute façon un super grand merci à toi et à très bientôt

Rex qui est vraiment :-)))))))))))))))))))))))))))



"Trirème" a écrit dans le message de news:


Avec ma listbox quand je sélectionnais un nom, la cellule A3 indiquait
le


numéros de la ligne adéquate
Comment puis-je obtenir un résulata similaire dans cette nouvelle façon
de


travailler

Je suppose qu'une macro événementiel devrait intervenir, non?
Que nenni !


Utilise la fonction EQUIV()
Par exemple EQUIV(Offre_Nom;Offers!$C$2:$C$6;0)
où Offre_Nom rest le nom de la cellule J4
et Offers!$C$2:$C$6 la colonne où chercher le contenu de J4

Il vaudrait mieux remplacer 'Offers!$C$2:$C$6' par une petite fonction
DECALER qui

rechercherait l'emplacement exacte de la colonne 'Offre-Nom'. C'est ce que
faisait la

formule suivante dans une version précédente :
DECALER(Datas;;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) ou
DECALER(Datas;1;EQUIV("Offre-Nom";DECALER(Datas;;;1;);0)-1;;1) commence à
la 2ème ligne.

où Datas est le nom dynamique ciblant tes données. ATTENTION ! Pas de
lignes ni de

colonnes vides !
La fonction recherche le mot "Offre-Nom" dans la 1ère ligne de l'entête de
'Datas'. Le

résultat est une plage d'une seule colonne contenant cet entête.

Cordialement,
Tirème



Avatar
Rex
Bonjour à toi

C'est avec du retard que je vous réponds, mais le boulot fut accapparant


Mon fichier avance et fonctionne grâce à toi et Trirème



Un grand merci à vous deux

D'autres questions se posent mais je vais lancer un nouveau fil


A très bientôt pour de nouvelles aventures

Rex ;-))))))))))))))))))))))))))))




"garnote" a écrit dans le message de news:

Salut Trirème,

If LaListe = "," Then
Non, Laliste = "" si aucune occurence n'est trouvée. Le dernier code de
Rex est correct.



Je trouve ça curieux. Quand je demande le contenu de LaListe dans un
MsgBox,

je reçois une virgule quand il n'y a pas de correspondance !!!

Serge

...
LaListe = "": compt = 0
' Construire une liste de validation à partir des 'Offre-Nom' qui
conviennent

With Worksheets(Offre)
NumeroColonneOffreNom = Application.Match(OffreNom,
.Range(Datas).Resize(1), 0)

' En recherchant la position de la colonne dans la 1ère ligne des
Datas,

' On évite les erreurs en cas de déplacement ou ajout de colonnes.
NumeroColonneStatus = Application.Match(Statut,
.Range(Datas).Resize(1), 0)

Decalage = NumeroColonneStatus - NumeroColonneOffreNom
For Each c In .Range(Datas).Offset(1, NumeroColonneOffreNom -
1).Resize(, 1)

' La colonne contenant 'Offre-Nom' est cherchée automatiquement
If c.Offset(, Decalage) = [J3] Then
LaListe = LaListe & c & ",": compt = compt + 1
MsgBox LaListe
End If
Next
End With
MsgBox LaListe
...





1 2