Plage vers Tableau
Résolu
Jolafleche
-
Jolafleche -
Jolafleche -
Bonjour,
Je début en VBA, et j'ai besoin de créer une fonction qui me permet de m' indiquer quelle fiche est absente du registre. Pour cela j'ai créer une fonction...mais je bloque sur l'attribution de mon arguments dans un tableau si quelqu'un peut m'aider merci....:-D
J'ai donc une erreur #VALUE ....je me doute que l'attribution de cel_fiche est incorrect car que je fait un msgbox cel_fiche, cela ne me retourne rien....
Merci pour votre aide.
Cordialement
Je début en VBA, et j'ai besoin de créer une fonction qui me permet de m' indiquer quelle fiche est absente du registre. Pour cela j'ai créer une fonction...mais je bloque sur l'attribution de mon arguments dans un tableau si quelqu'un peut m'aider merci....:-D
Public Function territoire_manquant(plage_date As Range, plage_fiche As Range)
Dim cel_date, valeur As String
Dim cel_fiche() As String
Dim i As Integrer
cel_fiche = plage_fiche.Value
For Each cel_date In plage_date
If IsEmpty(cel_date) Then
valeur = cel_fiche(i) & "||" & valeur
i = i + 1
Next cel_date
MsgBox valeur
End Function
J'ai donc une erreur #VALUE ....je me doute que l'attribution de cel_fiche est incorrect car que je fait un msgbox cel_fiche, cela ne me retourne rien....
Merci pour votre aide.
Cordialement
A voir également:
- Plage vers Tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
2 réponses
Bonjour,
Je crois qu'on part de loin...
- il n'y a pas de End If
- i n'est pas initialisé
- comment lie-t-on cel_date à cel_fiche ?
- comment appelles-tu la fonction ?
- faut-il une fonction ou une procédure (Sub) ?
Je pense qu'il vaut mieux commencer de zéro avec les données dont tu disposes et l'expression de ton besoin ("détecter les fiches absentes de ton registre" est un bon premier pas, mais on ne connait pas ta structure de données). Pour ce faire, peux-tu partager ton fichier via https://www.cjoint.com/ ?
A+
Je crois qu'on part de loin...
- il n'y a pas de End If
- i n'est pas initialisé
- comment lie-t-on cel_date à cel_fiche ?
- comment appelles-tu la fonction ?
- faut-il une fonction ou une procédure (Sub) ?
Je pense qu'il vaut mieux commencer de zéro avec les données dont tu disposes et l'expression de ton besoin ("détecter les fiches absentes de ton registre" est un bon premier pas, mais on ne connait pas ta structure de données). Pour ce faire, peux-tu partager ton fichier via https://www.cjoint.com/ ?
A+
Merci pour ta réponse rapide, je débute en VBA mais ce n'est pas mon premier language ;-)
Du coup j'ai oublié en effet le Endif et l'initialisation de "i", des erreurs bêtes j'en suis conscient...!
Par contre, cel_date et cel_fiche ne sont pas lié vu que se sont 2 plages différentes....Ou alors mon raisonnement est faux.
J'apelle la fonction via une celulle sur le classeur.
Le lien vers le classeur http://www.cjoint.com/c/EJhjG0KImJ8
Du coup j'ai oublié en effet le Endif et l'initialisation de "i", des erreurs bêtes j'en suis conscient...!
Par contre, cel_date et cel_fiche ne sont pas lié vu que se sont 2 plages différentes....Ou alors mon raisonnement est faux.
J'apelle la fonction via une celulle sur le classeur.
Le lien vers le classeur http://www.cjoint.com/c/EJhjG0KImJ8
Public Function fiche_manquant(plage_date As Range, plage_fiche As Range) Dim valeur As String For Each cel_date In plage_date If IsEmpty(cel_date) Then valeur = valeur & cel_date.Offset(0, -5).Value & "||" End If Next cel_date MsgBox valeur fiche_manquant = valeur End Function
L'appel de la fonction est bon, c'est déjà ça. Je te laisse supprimer l'argument plage_fiche qui n'est plus utilisé dans la fonction.
Je ne comprend rien. i n'a pas été défini. cel_fiche(i) ne veut rien dire puisque i n'est rien.
cel_date et cel_fiche n'ont rien à voir pour l'instant...
Cordialement.