3

Passionné d'Excel

Inscrit le :30/07/2020
Dernière activité :15/08/2023 à 10:09
Version d'Excel :Excel 2010
Messages
4'710
Votes
1'660
Fichiers
0
Téléchargements
0
SujetsMessagesStatistiquesVotes reçus

Messages postés par 3GB - page 18

DateAuteur du sujetSujetExtrait du message
27/05/2021 à 16:24MatthieuGIL Changer caractéristiques cellules si vide dans sélectionEst-ce que tu peux poster la partie en question du code en entier ? Cdlt...
26/05/2021 à 18:50Zebulon2Copier un onglet sans ses noms définisJe suis content que ça marche enfin. Je n'arrive pas à m'expliquer le problème sur le fichier que tu as posté. En effet, je m'étais fait la réflexion : étrange de supprimer tous les noms d'un modèle, pour certains probablement utiles au fonctionnement du fichier. Bonne suite à toi aussi...
25/05/2021 à 13:28Cassol Uniformisation numéro TVASuper ! C'est bien possible oui. Voici une adaptation de la macro (avec une condition en plus) : Si la cellule contient au moins 6 chiffres, on y va sinon, on ignore. Les # représentent donc les chiffres. J'ai mis 6 mais j'imagine que c'est au moins 8... Cdlt...
25/05/2021 à 13:25Zebulon2Copier un onglet sans ses noms définisDe mon côté, ça fonctionne bien. Alors j'ai peut-être mal compris... Ce que j'ai compris, c'est qu'on a une feuille modèle qui contient des noms avec étendue sur le classeur. Lorsqu'on copie cette feuille, la copie hérite des mêmes noms, mais avec étendue sur la feuille uniquement (je précise que po...
25/05/2021 à 09:08Zebulon2Copier un onglet sans ses noms définisAh mince ! J'ai essayé sur mon mac et ça marche. J'essaierai sur Windows pour voir... Mais tu es sûr de toi ? Parce que le nom Ingrédients est défini sur la feuille Modèle donc c'est normal qu'il apparaisse. En revanche, il ne devrait pas apparaitre en double car le nom Ingrédients de la feuille cré...
25/05/2021 à 08:55Zebulon2Copier un onglet sans ses noms définisRe, Théoriquement, nm est une variable Name mais en tant qu'object, c'est très bien, à part pour bénéficier de l'intellisense. La macro ne se lance pas car il s'agit d'une macro paramétrée (on lui rentre un objet worksheet en paramètre), qui ne peut s'exécuter seule et doit nécessairement être appel...
25/05/2021 à 07:30Zebulon2Copier un onglet sans ses noms définisBonjour Zebulon2 , Voici un essai en bouclant sur les noms et en s'aidant de la propriété .refersto, qui renvoie normalement la référence de la plage nommée ("=Nomfeuille!A1" par exemple). A partir de là, il est possible de cibler les noms de la nouvelle feuille : Cdlt...
24/05/2021 à 23:43Cassol Uniformisation numéro TVAPas de problème ! Non, ce n'est pas comme ça qu'il faut utiliser la fonction puisqu'elle retourne une valeur en fonction de l'argument qui lui est rentré. Le code de la fonction est donc une sorte de modèle générique qui deviendra effectif en fonction de son argument. Elle est à utiliser au sein de...
24/05/2021 à 23:14Cassol Uniformisation numéro TVAVoici une proposition avec une fonction personnalisée : Elle est à utiliser ainsi sur feuille : si le numéro de TVA est en A1. Cdlt...
24/05/2021 à 15:58lion007Me de faire un macro ExcelSans davantage de détails, c'est assez difficile de déterminer un code qui soit juste. En tout cas, voici un premier essai à adapter, en passant par une fonction qui permet de retourner dans la dernière cellule de la plage (à 3 colonnes) les lettres manquantes dans chaque ligne (et rien sinon) : Cdl...
23/05/2021 à 18:58rafu59 Déplacer feuille dans plusieurs classeurs (Dossier / sous dossier)Je t'en prie ! Si c'est à base de recherchev, on remplit probablement la base j'imagine mais le principe est le même ! Tu devrais tout de même chercher sur le site, il doit probablement y avoir des fichiers permettant de faire des DEVIS. Bonne continuation...
23/05/2021 à 16:21rafu59 Déplacer feuille dans plusieurs classeurs (Dossier / sous dossier)Ah oui, embêtant les #REF ! Je pense que la plupart des cellules dépendent d'une cellule qui dépend d'une référence du classeur d'origine qui n'est pas retrouvée sur le nouveau. Pour la réflexion, il faut juste faire l'inventaire de tous les champs qui doivent se reporter dans la base et, pour chacu...
23/05/2021 à 16:07MarcDJGestion des fichiers et répertoiresPour manipuler fichiers et dossiers sur Windows : https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/filesystemobject-... Pour obtenir des noms de fichier sélectionnés à l'aide d'une boite de dialogue : https://docs.microsoft.com/fr-fr/office/vba/api/excel.application...
23/05/2021 à 15:49rafu59 Déplacer feuille dans plusieurs classeurs (Dossier / sous dossier)Je me doutais que c'était quelque chose comme ça. Comme j'aime le rabacher, il est de mon point de vue pas nécessaire de copier le classeur à chaque fois puisqu'on édite un PDF. A la place de cette copie, entrainant une prolifération des fichiers, il faut une base de données sur le fichier qui édite...
23/05/2021 à 15:20rafu59 Déplacer feuille dans plusieurs classeurs (Dossier / sous dossier)F1 est une variable de boucle (une variable Folder, objet membre du filesystemobject). Elle sert à parcourir tous les sous-dossiers du répertoire "C:\TEST\DEVIS\". f2 est une autre variable de boucle (variable File, autre objet du fso). Elle permet de parcourir tous les fichiers de chaque sous-dossi...
23/05/2021 à 14:48plati69000 Création de MACROS VBA pour insérer des lignes de TVA automatiquementOui, moi aussi, je suis dit "mais que se passe-t-il ?" ! Nickel si ça marche, le code me parait mieux ainsi qu'avec la méthode .replace (au cas où il y aurait d'autres caractères imprévus). Je vais quand même essayer la méthode .replace mais c'est toujours une prise de tête ce caractère 160... Edit...
23/05/2021 à 14:22plati69000 Création de MACROS VBA pour insérer des lignes de TVA automatiquementNon, c'est normal, c'est moi qui ai mal placé le crochet, rendant la condition remplie à chaque fois et donc une chaine vide, non convertible en double . J'édite mon code à l'instant ! Sinon, le caractère 160 est un espace insécable. Il est possible de l'enlever en faisant replace(chaine, chr(160),...
23/05/2021 à 13:27plati69000 Création de MACROS VBA pour insérer des lignes de TVA automatiquementVoici une proposition de fonction obtenir uniquement les chiffres et virgules : Il faut ensuite l'intégrer dans la boucle. Cdlt...
22/05/2021 à 08:34LaventureEstiveneErreur d'exécution 1004 à répétitionOui, j'ai oublié le = 1 dans le for, je vais corriger ce détail. Dans le code précédent, pour rappel : Il pourrait être abrégé ainsi : Et surtout, il ne s'agit pas du code de départ en fait ! Et d'ailleurs, sur le code de départ, je ne suis pas sûr que la condition soit idéale. C'est délicat de test...
21/05/2021 à 18:43LaventureEstiveneErreur d'exécution 1004 à répétitionRe, Salut X Cellus , Et j'ajouterais que c'est le seconde fois que je propose un code et que vous n'en tenez absolument pas compte. Ca peut vite être compliqué pour résoudre les problèmes si vous ne testez pas les propositions des contributeurs... Il faut savoir que vos 2 codes n'ont rien à voir et...
21/05/2021 à 16:28Pirateeee10 Copier-coller colonne à partir d'une entête VBAL'erreur 9, dans le cas des classeurs, signifie que le fichier "00_Recap" n'est pas reconnu. Donc soit le nom de fichier est incorrect et il faudrait le nommer correctement, "00_Recap.xlsm" par exemple. Soit ce classeur, censé être l'exécutant, n'est pas ouvert et n'a donc rien à voir. Donc, il faud...
21/05/2021 à 14:29LaventureEstiveneErreur d'exécution 1004 à répétitionEt sur quelle ligne a lieu l'erreur ? Car le code n'est plus vraiment le même. Edit : Vous êtes sûr qu'il s'agit d'une erreur 1004 ? Pas une erreur 9 ...
20/05/2021 à 23:35LaventureEstiveneErreur d'exécution 1004 à répétitionVoici une proposition de réorganisation de votre code : L'erreur peut survenir pour différentes raisons. Déjà, voyez si elle persiste sans l'activer. Cdlt...
20/05/2021 à 23:07FlavieeeeMacro image ExcelPour poster du code, vous pouvez utiliser les balises </> du ruban d'icônes, c'est plus facile à copier qu'une image . Pour votre votre problème, il y aurait éventuellement la possibilité de créer un userform et de lui affecter l'image sur laquelle on vient de cliquer. Cette idée supposerait d...
20/05/2021 à 18:45Ghilou14 Format de cellules sous conditionsVoici un essai d'adaptation du code : Je pense qu'il y avait un bug à cause de cette ligne If Range("C117").Select > "0" Then car .select permet de sélectionner une cellule et n'a pas sa place dans une condition. Sinon, pour poster du code, vous pouvez utiliser les balises </> du ruban d'ic...
20/05/2021 à 10:54bapt44000 Trouver valeur supérieure avec la fonction Find ?Voici un essai avec INDEX EQUIV si les données sont bien croissantes : Cela doit renvoyer la plus grande valeur inférieure à BL. Je rejoins yal_excel sur les tableaux structurés, beaucoup plu ssimples à l'utilisation. Cdlt...
20/05/2021 à 10:23LaguiloTransférer les données d'un tableau nommé sur Excel dans un tableau VBARe, Salut Ergotamine , Il m'arrive quand même d'ouvrir des fichiers parfois mais là ça me parait pas nécessaire. A ce que je vois, il ne s'agit pas d'une variable publique. Et il est tout à fait possible de réutiliser un tableau variant dans le code. Sinon, il faudrait l'alimenter ainsi : Sinon, on...
20/05/2021 à 09:39LaguiloTransférer les données d'un tableau nommé sur Excel dans un tableau VBAPouvez-vous poster le code correspondant s'il vous plait ( à l'aide des balises </> du ruban d'icônes ) ? Pourquoi utiliser un tableau dynamique déjà existant ? Quel est le nom du tableau structuré sur la feuille ? Cdlt...
20/05/2021 à 09:32Drokarre L'indice n'appartient pas à la sélection@Dan : Oui, j'ai posté avant de tout lire... J'ai insisté sur le pas à pas depuis le début car, sans l'antislash, Fichier valait "" et on ne rentrait jamais dans la boucle et donc on ne passait jamais par le point d'arrêt...
19/05/2021 à 23:37Drokarre L'indice n'appartient pas à la sélection@cousinhb29 : La fonction Dir renvoie le nom du fichier et non son chemin complet donc il faut bien répéter le répertoire ensuite pour que la méthode .open fonctionne. @Drokarre : Pouvez-vous essayer avec : L'idéal serait d'exécuter la macro au pas à pas depuis le début de la macro pour voir ce qui...
19/05/2021 à 18:49LaguiloTransférer les données d'un tableau nommé sur Excel dans un tableau VBAOui c'est possible : Cdlt...
19/05/2021 à 18:46LaventureEstivene Identifier les listes déroulanteVoici un essai en supposant qu'il n'y a pas de validation autre que par des listes : Cdlt...
19/05/2021 à 17:15MatthieuGIL Enregistrer feuille dans fichier, ouvrir copie et enregistrer à nouveauTant mieux, nickel si ça marche. Si tu souhaites renommer la feuille que tu as créée, après le activesheet.copy after:=activesheet, tu peux mettre la ligne : En effet, la copie créée devient la feuille active. Il faut juste éviter de donner un nom qui existe déjà ou un nom trop long (31 car.) ou cer...
19/05/2021 à 17:11Fidele17 Copier fichiers de plusieurs sous repertoires dans un seul repertoireEffectivement, il faut mettre les antislash en fin de chemin, comme l'a suggéré Zalee. Le fichier exécutant (pour répondre à la question précédente maintenant que j'ai vu les répertoires) peut être placé dans le dossier ANNEE 2021 par exemple mais pas dans en attente (sinon il faudrait rajouter une...
18/05/2021 à 23:29Lamouche31 Fichier de suiviVoici une proposition, peut-être à côté du besoin mais qui me semble plus logique et classique, pour votre premier problème avec une macro se déclenchant au double-clic sur la feuille. Il faut donc copier ce code non pas dans un module normal mais dans le module de la feuille ciblée par ces clics :...
18/05/2021 à 23:15MatthieuGIL Enregistrer feuille dans fichier, ouvrir copie et enregistrer à nouveauCopie la feuille active dans un nouveau classeur. copie la feuille active, dans le même classeur, après la feuille 1 (ou en commentaire, à la fin). crée une copie du classeur actif au nom de fichier désigné dans la variable cheminfichier Il est possible de copier plusieurs feuilles d'un coup : J'esp...
18/05/2021 à 22:44Loops74 Getopenfilename sur MAC - Fichiers Excel grisésDe rien ! Je me suis inspiré du lien de Dan pour personnaliser la fonction de Ron de Bruin. Elle marche sur Mac 2011 mais peut-être pas sur 2016 en multiselect... En tout cas, le blocage (fichiers grisés) résidait dans le type de format défini qui correspondait aux fichiers "xls" et non "xlsx". Je p...
18/05/2021 à 22:04Pirateeee10 Copier-coller colonne à partir d'une entête VBACe n'est plus clair dans ma mémoire. Voici le code tel qu'il devrait être syntaxiquement parlant mais je ne me suis pas attardé sur la macro Importer : Cdlt...
18/05/2021 à 10:45Filipe Récupération et traitement de certaines cellules dans un classeurSuper, merci du retour ! Cdlt...
18/05/2021 à 10:23Loops74 Getopenfilename sur MAC - Fichiers Excel grisésRe, Au cas où, j'ai testé ce code sur AppleScript et il fonctionne : *** code applescript (testé fonctionnel) Il ne fonctionne pas avec le filtre cependant donc je l'ai enlevé car les fichiers sont grisés... (ancien code) Je n'ai pas la fonction applescripttask sur ma version donc je ne peux pas voi...
18/05/2021 à 09:41Loops74 Getopenfilename sur MAC - Fichiers Excel grisésLe lien que j'ai posté explique que sur les nouvelles versions, il faut coder les commandes Mac en créant des fichiers grâce à l'éditeur applescript (en langage applescript) et les exécuter via la fonction AppleScriptTask , au lieu d'exécuter le script, saisi directement sur VBA, à l'aide de la fonc...
17/05/2021 à 23:43Loops74 Getopenfilename sur MAC - Fichiers Excel grisésJe ne suis pas sûr mais j'avais lu que Macscript n'était plus compatible avec les nouveaux mac. Il faudrait désormais appeler le fichier contenant le code applescript : https://docs.microsoft.com/fr-fr/office/vba/office-mac/applescripttask Mais vous avez essayé : quand même ? Cdlt...
17/05/2021 à 23:18Tib LafQuestion format de cellule/addition tempsJe t'en prie, je te souhaite d'obtenir une solution ! Bonne continuation...
17/05/2021 à 23:09Tib LafQuestion format de cellule/addition tempsPour ma part, non désolé, je ne connais pas Libre Office qui n'est pas compatible avec les macros VBA... C'est dommage mais tu peux essayer de poser la question à la partie Calc de ce forum. Cdlt...
17/05/2021 à 22:34Filipe Récupération et traitement de certaines cellules dans un classeurUn essai au cas où avec l'ancien code en contournant la transposition de l'objet worksheetfunction : Cdlt...
17/05/2021 à 22:28Filipe Récupération et traitement de certaines cellules dans un classeurVoici un essai en réinitialisant le tableau en mémoire qui stocke les données tous les 1000 éléments (on peut supposer que ce nombre pourrait être élevé à 12000 éléments) : Comme je l'ai dit, ce ne sont pas les onglets qui posent problème... Il faut déjà voir si ce code fonctionne. J'ai d'autres idé...
17/05/2021 à 22:00Fidele17 Copier fichiers de plusieurs sous repertoires dans un seul repertoireLe fichier exécutant peut être placé n'importe où, tant qu'il ne se trouve pas dans l'arborescence du répertoire source. Il faut mettre les répertoires d'origine et de destination en dur dans le code ou éventuellement obtenir le répertoire source à l'aide d'une boite de dialogue de sélection de doss...
14/05/2021 à 21:40Filipe Récupération et traitement de certaines cellules dans un classeurCe n'est pas un problème d'onglet mais de tableau et de mémoire disponible apparemment... Il faudrait utiliser plusieurs tableaux... Je ferai un essai avant en utilisant une autre méthode pour voir ce qu'il en est...
14/05/2021 à 20:18Filipe Récupération et traitement de certaines cellules dans un classeurOui, mais n'est ce pas normal ? Pour rappel, la macro ne retient que les valeurs contenant un % et je doute qu'elle en manque certaines...
14/05/2021 à 18:17Filipe Récupération et traitement de certaines cellules dans un classeurJe t'en prie ! Alors, tu as pu essayer ...