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

function -> mettre à jour une feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

wilfried_42

XLDnaute Barbatruc
Bonjour le forum

j'essaie actuellement d'ecrire des fonctions, mais je ne connais pas les limites

j'arrive à recuperer des donnes à l'aide de range("A1").value

ça plante à chaque fois que j'essaie d'en encoyer comme dans un sub

y'a t il une solution s'il vous plait, sinon, comment définir un tableau qui puisse etre utilisé par x fonctions

merci de votre aide
 
Re : function -> mettre à jour une feuille

Bonsoir,

La seule limite que je connaisse, c'est qu'une fonction qui doit pouvoir être utilisée dans une feuille de calcul ne peut pas manipuler les feuilles et les cellules (par exemple range("A1").value=2 est interdit dans ce type de fonction). Et en pratique, je conseille de garder les fonctions pour calculer des valeurs en fonction de paramètres que je lui passe. Et je conseille aussi, en particulier si on veut pouvoir facilement réutiliser son code, de toujours passer les paramètres en mettant byval et de ne jamais modifier dans le code de la fonction une variable d'une autre procédure. En fait faire une sorte d'étanchéité.
Dans ton cas, c'est un peu le contraire, regarde du coté des constantes ou alors sans garantie, le mot clé static quand tu déclares une variable.

A+
 
Re : function -> mettre à jour une feuille

Bonsoir sylvain

Tu n'as pas tout a fait tord, dans une utilisation restreinte, il est vrai qu'il est inutile d'utiliser une fonction specifiquement à une feuille. Mais dans certains cas, il est plus facile de mettre dans une cellule un =fonction(x,y,z), que de gerer un bouton provoquant une macro ou encore un sub d'interruption.
De plus, du moins de ce qu j'en ai vu, le maniement des classeurs, des feuilles, des cellules est si simple sur Excel, que je ne vois pas, dans des cas speciaux, une fonction ne pourait pas mettre à jour une cellule dont la reference est definie par usager.

merci pour ta reponse tronquée, je repete donc ma question :

dans le cas ou ce ne serait pas possible, comment et ou definir une table commune à toutes les fonctions sans perte de données.

merci d'avance au forum
 
Re : function -> mettre à jour une feuille

re bonjour le forum

Je vais préciser le but de ma question, souvent, nous nous trouvons devant un probleme de place, meme si le nombre de ligne d'une feuille parait enorme, certains se retourvent neanmoins bloqués et doivent archiver. je suis dans ce cas. je désire créer un bibliotheque de fonction qui permettra d'archiver des données dans un fichier de type RANDOM et par le suite les recuperer en les filtrant.

Il est donc plus simple de dire à une fonction affiche tout ce que tu trouve à partir de cette adresse que : dans chaque cellule mettre une fonction qui dit met ce champs là.

Voila le but de ma question

merci de votre compréhension
 
Re : function -> mettre à jour une feuille

Bonjour,

Oui c'est différent, je pense que l'on ne peut pas se contenter de fonction dans ce cas. Je pense que pour faire l'archivage, le mieux est une base access et là tu peux regarder les fils sur ADO. Et pour récupérer les informations, les outils du menu données / données externes. Mais là je ne suis pas forcément le mieux placé pour les détails.

A+
 
Re : function -> mettre à jour une feuille

Bonjour

Juste un petit exemple pour le support

Function CONCATPLAGE(Plage As Range, Optional Separateur As String) As String
'===========================================
' renvoie une plage sous forme concatenée
' en separant chaque chaine avec le separateur
' precisé ou sans si pas indiqué
'===========================================
CONCATPLAGE = ""
For Each cel In Plage
CONCATPLAGE = CONCATPLAGE & cel.Value & Separateur
Next
CONCATPLAGE = Left(CONCATPLAGE, Len(CONCATPLAGE) - Len(Separateur))
End Function


Function xxx (Cellule)
Msgbox cellule
end function
'Sous cette forme, si tu as une cellule =xxx(jour(A1))
'cellule vaudra le resultat de jour(A1)

J'espere que ca t'aidera un peu
 
Re : function -> mettre à jour une feuille

Bonjour sylvain, lapix

désolé de ne pas avoir répondu plus tôt, j'etais absent

je ne connais pas du tout acces donc solution banie

sylvain, ta solution, j'y avais pensé, ce qui oblige avec une base de donnée, de préparer toute la plage de reception, j'ai une base de 26 champs sur un nombre illimité d'enregistrement

complex à réaliser, un fichier vide de renseingnement qui tiendra neanmoins environ 200 mega

je peux aussi passer par un sub pour les transferts et des fonctions pour les controles.

j'aurai besoin du forum, mes connaissances de vba qui grace a vous progressent, restent neanmoins limités pour un tel projet.

vous remerciant par avance de votre aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
4 K
T
Réponses
4
Affichages
1 K
traputaca
T
I
Réponses
1
Affichages
2 K
J
Réponses
0
Affichages
1 K
Jojolapin
J
S
Réponses
2
Affichages
17 K
G
P
Réponses
7
Affichages
2 K
Pourtantjessaie
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…