Compatibilité MAC de la fonction DIR | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 15-08-2013 11h25
Bonjour
J'ai écrit une procédure pour récupérer les noms de fichier contenus dans un dossier
Function StockerFichiers(Chemin As String) As Integer Dim U_Fichier As String ' Résultat de la recherche avec DIR Dim U_Tableau(1000) As String ' Nom des fichiers Dim U_nb as integer ' taille du tableau StockerFichiers = 0 U_Fichier = Dir(Chemin & "\*") Do While U_Fichier <> Empty U_nb = U_nb + 1 U_Tableau(U_nb) = U_Fichier U_Fichier = Dir ' Fichier suivant Loop StockerFichiers = U_nb End Function
Je fonctionne correctement sous Windows en version Excel 2007, mais j'ai un problème en version MAC. J'ai vu dans l'aide Excel qu'il fallait utiliser la fonction MacID Dir(Chemin, MacID("TEXT"))
Mais je ne sais pas quelle chaine il faut mettre dans le paramètre de MAcID pour récupérer tous les fichiers et pas seulement ceux d'un certain type
En complément, si je devais repérer uniquement les extensions ".eml" de Windows Mail qu'elle valeur devrais-je préciser dans MacID ?
Avec les remerciements
Papyjac |
|
|
Re: Affichage d'un userform lors éxécution d'une macro qui dure | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 15-06-2013 08h40
Bonjour aubelix
Je pense que la méthode la plus simple est d'afficher un message dans la barré d'état... elle est faite pour cela. Tu peux y afficher une progression du traitement, par exemple "veuillez patientez... étape N / M" Pour afficher un message dans la barre d'état Application.StatusBar = "Veuillez patientez... étape " & N & "/ " & M
ensuite il faut définir une fréquence de rafraichissement Si tu as une boucle générale de traitement par exemple For N = 1 to M if mod(N, 10000) = 0 then Application.StatusBar = "Veuillez patientez... étape " & N & "/ " & M ...
next
Il faut calibrer le modulo pour que la durée d'attente soit ni trop courte ni trop longue
papyjac |
|
|
Re: Mot de passe sur bouton | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 12-05-2013 08h04
Bonjour Débutant
Si je comprends bien, il y a des onglets autorisé et des onglets interdits pour les utilisateurs La solution la plus simple est de ne mettre que les onglets autorisés dans le classeur que tu donne aux utilisateurs Toi, tu disposes du classeur complet, et les utilisateurs disposent d'un classeur réduit Si cela n'est pas possible : tu masques les onglets interdits et tu protèges la structure du classeur avec mot de passe
aucun VBA nécessaire
papyjac |
|
|
Re: Problème sur condition | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 12-05-2013 07h57
Bonjour wilplan
J'aurais tendance à déconseillé les userform pour les débutants... mais faut bien commencer un jour En effet, assez curieusement ton classeur ne contient de userform, mais passons Je note que tu utilises l'onglet recherche pour effectuer la saisie de ta référence, cela prouve que tu sais te passer de userform, car on pourrait en utiliser un pour cette saisie, mais je ne le conseille pas Je te propose, pour régler la dynamique de ton classeur d'utiliser un onglet "fiche" vierge si la référence n'existe pas et renseigné si elle existe. Il est d'ailleurs possible de réaliser cet onglet et son remplissage sans un gramme de VBA, en utilisant des formules simples comme EQUIV, =SI( ; ; )... Dès lors que la présentation et l'enchainement te plaira, il sera temps de créer des macros VBA, puis le cas échéant un userform
bon courage papyjac |
|
|
Re: Interdire l'option couper/coller avec vba | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 12-05-2013 07h45
Bonjour debutant84
Tout est possible, mais tout peut être contourné... Par expérience, je comprends ton problème, mais ce type d'interdiction va à l'encontre de l'usage d'Excel, et fait perdre beaucoup de temps au développeur et à l'utilisateur : Je te propose de créer un bouton de type "export des données" qui crée un classeur à usage limité, pour des éditions ou calculs complémentaires
papyjac
bidon
|
|
|
Re: Probleme réalisation macro avec enregistreur de macro ... | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 11-02-2013 10h41
Bonjour eric.33
L'enregistreur de macro crée un code VBA, qu'il faut améliorer ensuite. Il n'est pas rare de revoir toutes les instructions en vue d'une meilleure maintenabilité A la simple lecture de ta formule... "=IF(OR(RC[-3]=""Sans Tva"",RC[-3]=""Tva à 19.6%"",RC[-3]=""Tva à 5.5%"",RC[-3]=""Tva à 7%"",RC[-3]=""Totaux""),""1""&RC[-3],"""")" ... je m'inquiète De mon point de vue on ne devrait pas trouver ses formules là dans le code VBA, mais tout simplement dans un modèle de classeur. Pour gérer la complexité d'un classeur, il faut bien distinguer ce qui est du domaine du VB, du domaine des formules, et des données elles-mêmes. Si possible ne pas mélanger les 3. Si ton problème subsiste tu peux m'envoyer ton classeur papyjac papyjac@laposte.net |
|
|
Re: Problème formule conditions multiples | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 28-01-2013 10h58
Citation :
sandy84 a écrit : J'ai aussi essayé comme ceci mais ça ne marche pas Bonjour sandy84 Au delà, de "ça marche" ou "ça ne marche pas"... je déconseille les valeurs "en dur" dans les formules L'idéal étant de découpler les calculs et les paramètres de ces calculs Ici dans cette formules on voit des libellés en dur (au secours, alerte, terminé) et une limite en dur (+30) Dans ton cas les calculs sont doubles : d'une part le statut, et d'autre part l'écart Les libellés sont stockés dans une liste annexe Une fois ces éléments calculés, il est plus simple de mettre le libellé papyjac |
|
|
Re: Mise en forme conditionnelle "compliquée" excel2010 | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 28-01-2013 10h41
Quand je vois le titre je m'inquiète
Perso, je distingue toujours les calculs et la MEFC Déjà, avec ça, ça devient moins compliqué Pour les formules, mieux vaut, dans un 1er temps, faire des formules élémentaires (faiblement imbriquées), quitte a faire des calculs intermédiaires Pour les mises en formes, il faudrait pouvoir se limiter à la couleur de remplissage (éviter le gras, la couleur de police, italique, bordure), car cela doit sauter aux yeux. Ne pas dépasser si possible 5 couleurs Plus tad tu pourras gérer la complexité papyjac |
|
|
Re: formul | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 28-01-2013 10h35
Si j'ai bien compris ta question...
Personnellement j'utilise la formule =NB.SI(plage;critère) La plage peut être soit un vecteur (en ligne ou colonne) soit un rectangle Le critère peut être 1, si tu cherches la valeur 1 ; 2 si tu cherches la valeur 2 ; ou bien une condition simple ">0" ; "<30" On peut aussi créer un critère variable ">" & A1 papyjac |
|
|
Re: formul | ||
---|---|---|
Inscription: 21/01/2013
Messages:
10
Système d'exploitation: PC Version Excel utilisée: 2003 |
Posté le : 21-01-2013 09h04
Citation :
mahelnawe a écrit : bonjour le forum, Bonjour mahelnawe en cellule C1 Tu écris=A1, et tu mets une couleur, par exemple rose, qui veut dire que tu peux écraser cette cellule manuellement Mais attention quand on efface la cellule la formule ne revient pas Si cela te gêne, alors il faut ajouter une colonne D1 de forçage des formules et mettre en cellule C1=si(estvide(D1);A1;D1) pour moi toute solution qui évite le VB est préférable, surtout tant que la classeur n'est pas stabilisé. papyjac |
|
|