| Date | Auteur du sujet | Sujet | Extrait du message |
|---|
| 11/10/2024 à 17:02 | Matt56 | Dupliquer un formulaire autant de fois que nécessaire | De rien, pour commencer… Chez moi le fichier joint fonctionne très bien. Comme demandé, la macro ne supprime pas les nouveaux blocs créés. Donc si vous entrez une valeur inférieur au nombre de blocs existant, il ne se passe rien. Vous n'avez pas corrigé vos validations de données, c'est peut etre po... |
| 11/10/2024 à 15:26 | Matt56 | Dupliquer un formulaire autant de fois que nécessaire | D'accord, voir ci-joint pour la feuille 2. Mais vous devez corriger vos validations de données et références aux autres cellules, elles sont mal faites et ne s'adaptent pas au copier coller. Pensez à corriger dans le bloc de référence de la feuille "A masquer" puisque c'est lui qui est copié lors de... |
| 11/10/2024 à 14:41 | Mostat78 | Regrouper des fichiers dans des dossiers en suivant une liste Excel | Peut etre regarder par ici Gestionnaire universel de fichiers (excel-pratique.com) Sinon, classiquement pour ce genre d'opérations on utilise en VBA l'objet " FileSystemObject" de la Microsoft Scripting Runtime Library (cf. VBA File System (vbaplanet.com) , paragraphe 2). C'est une classe qui implém... |
| 11/10/2024 à 14:27 | Matt56 | Dupliquer un formulaire autant de fois que nécessaire | Re, Pour la feuille 1, voir ci-joint, pour la feuille 2, je n'ai pas bien compris donc pour l'instant il n'y a rien. Faites attention, dans la feuille "A Masquer" j'ai rajouté le "bloc" à copier/coller pour la feuille 1. Ne pas le supprimer... |
| 11/10/2024 à 11:57 | Matt56 | Dupliquer un formulaire autant de fois que nécessaire | Puisque c'est à faire via VBA, pouvez-vous préciser le cas suivant : Une fois que les éléments on été dupliqués, que faire lors d'un changement dans la cellule de nombre de répétition ? Par exemple : vous entrez 3, et cela créé 3 duplicatas. Que faire si vous entrez 4 ensuite ? Ou 1 ? Supprimer les... |
| 11/10/2024 à 09:35 | jdlion | Copier coller bizarre | Pour masquer les lignes, je vous invite à consulter l'aide en ligne Masquer ou afficher des lignes ou des colonnes - Support Microsoft . Je pense que JExceL2fr a vu juste, regardez bien dans votre document "original", si tous les numéros de lignes et colonnes sont visibles. Par exemple, si vous pass... |
| 10/10/2024 à 17:30 | Joco7915 | Appliquer une macro à plusieurs feuilles | Dans ce cas, Il suffit simplement d'activer la feuille avant d'appeler votre macro, puisqu'elle s'applique sur la feuille "visible"... |
| 10/10/2024 à 17:14 | Joco7915 | Appliquer une macro à plusieurs feuilles | Attention à ne pas confondre les feuilles avec les fenetres de l'application… Pour récupérer la liste des fenetres XL ouvertes, vous pouvez utiliser Application.Windows property (Excel) | Microsoft Learn L'exemple est assez parlant, il vous suffit de faire une boucle sur cette liste et de vérifier l... |
| 10/10/2024 à 16:44 | GoldenBoyy972 | Ouvrir userform selon checkbox | Bonjour, dans ce cas quelques "tips" pour les approches possibles Si vous avez plusieures cases qui renvoie sur le meme userform, l'utilisation de Select/Case proposée par Clyfo est très pertinente. Vous pouvez en effet grouper les conditions pour chaque case Par exemple Se déclenche pour le cas ou... |
| 10/10/2024 à 14:12 | dupuy | Erreur de compilation | Effectivement vous avez du passer de office 32 bits à 64 bits. Votre "projet VBA" a l'air assez conséquent, on ne peut pas à l'aide d'un screen vous aider concrètement. Si vous pouviez partager le fichier ce serait plus simple. Vous pouvez je pense retirer les feuilles du classeur. Mais en voyant vo... |
| 10/10/2024 à 13:48 | Doofy59 | Méthode find, ajouter une condition si la valeur cherchée est trouvée | Excusez moi, j'avais regardé cela un peu trop rapidement. Dans votre cas, vous pouvez, dans le else à la place de break affecter ligne_matricule à -1 (ou n'importe quelle valeur, comme vous le souhaitez), de manière à bien prendre en compte une ligne non trouvée (numéro de ligne = -1 => non trouv... |
| 10/10/2024 à 12:33 | Doofy59 | Méthode find, ajouter une condition si la valeur cherchée est trouvée | Re, A voir selon votre besoin final, mais pas de boucle nécessaire. J'ai lu ici Taking Advantage of TextFinder for Google Spreadsheet · GitHub que l'utilisation de map dans une arrowfonction vous permet d'extraire tous les résultats en 1 étape. A adapter mais l'exemple 2 : Me semble convenir (j'ai c... |
| 10/10/2024 à 11:59 | Doofy59 | Méthode find, ajouter une condition si la valeur cherchée est trouvée | Ah oui, c'est probablement la syntaxe "if(!recherche = null)" qui est incorrecte. Je crois qu'en javascript il faut 2 "==" et entourer avec des parenthèses… Ou bien utiliser directement !=. Mais à ce compte là, la solution de Pierre est plus propre je trouve... |
| 10/10/2024 à 11:35 | Doofy59 | Méthode find, ajouter une condition si la valeur cherchée est trouvée | Je pense que vous avez un problème de Scope dans votre Script. Vous définissez la variable ligne_matricule dans le bloc if. Donc en dehors de ce bloc, elle "n'existe pas". En tout cas elle n'est pas accessible. Si c'est bien le problème, la correction est la suivante : déclarez votre variable en deh... |
| 10/10/2024 à 09:33 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Effectivement, je pense que c'est plus correcte. A vrai dire je me rappelle d'une discussion sur l'instruction VBA.Mid suite à une proposition de Optimix ici Macro pour remplacer le troisième chiffre d'une valeur (excel-pratique.com) et je pense que dans le fond, c'est un peu la meme histoire. Il y... |
| 10/10/2024 à 09:16 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Effectivement, je pense que l'on s'était mal compris. Je suis tout à fait d'accord sur ce point. Ce que j'évoquais, en lien avec mon exemple, c'est que Sont absolument équivalents. La position des points n'est pas la meme, nous sommes bien d'accord qu'ils sont nécessaires devant les 2 "cells" = argu... |
| 10/10/2024 à 08:58 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Bon peu importe, la méthode de PatrickT est celle à retenir, c'est celle utilisée dans les exemples Microsoft. Worksheet.Range property (Excel) | Microsoft Learn Mon expérience perso m'a montré qu'il était redondant de mettre ce point dans " . Range(.Cells(1,1), .Cells(1,2))", mais je pense qu'il es... |
| 09/10/2024 à 17:25 | val428 | Moyenne à partir d'une matrice ayant sa clé filtrée sur critère d'unicité | Donc c'est bien les références uniques par pays, et non globalement. Ok pour la cellule vide, il faut donc bien utiliser la fonction moyenne pour l'ignorer. Par ailleurs si vous etes sur une version plus récente d'XL, les autres propositions sont probablement plus adaptées. C'est plus "lisible" comm... |
| 09/10/2024 à 16:30 | val428 | Moyenne à partir d'une matrice ayant sa clé filtrée sur critère d'unicité | Oui c'est mieux d'exposer le problème complètement… En reprenant la colonne d'aide définie dans mon précédent message, vous utilisez MOYENNE.SI (MOYENNE.SI, fonction) - Support Microsoft pour vérifier le pays, puis la référence. Votre exemple avec les valeurs surlignées est vraiment mal choisi car o... |
| 09/10/2024 à 15:40 | Docksound | VBA et Excel 365 sur Mac | Ah, donc vous aviez déjà la solution. Pour vos arobases, c'est normal. Il s'agit d'une nouveauté O365 pour "remplacer/MAJ" les formules matricielles. Je vous renvoie sur le site officiel Opérateur d'intersection implicite : @ - Support Microsoft Puisque vous utilisez la Fonction FILTRE - Support Mic... |
| 09/10/2024 à 15:21 | Docksound | VBA et Excel 365 sur Mac | La propriété Range.Formula, propriété (Excel) | Microsoft Learn prend comme argument… la formule en anglais ! Utilisez plutot Propriété Range.FormulaLocal (Excel) | Microsoft Learn . Ou alors, traduisez votre formule en anglais, et peut etre remplacez les ";" en ",". Mais si votre pc/xl est en franç... |
| 09/10/2024 à 14:15 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Mais dans ce cas précis je maintiens que vous etes dans le faux. La confusion vient probablement de l'overload de "Range" dans le cas précis. Quand on écrit Range(cell1, cell2), on appelle le constructeur de Range. Il prend en paramètres 2 cellules, et renvoie une nouvelle range couvrant la plage do... |
| 09/10/2024 à 13:49 | Goko | Délai de réparation | Voir ci-joint, La formule utilisée est A etendre vers le bas. Si vous utilisez des X majuscule, changer dans la formule pour correspondre. Et si vous ne voulez pas faire apparaitre les "#N/A" dans votre colonne jaune, mettez le tout dans un SIERREUR avec 0 ou "" en cas d'erreur... |
| 09/10/2024 à 11:54 | val428 | Moyenne à partir d'une matrice ayant sa clé filtrée sur critère d'unicité | Si vous permettez l'ajout d'une 4e colonne pour vous permettre de bien comprendre. Donc en supposant votre tableau en A1:C7 En D2, entrez Attention aux $ ! Puis étirez vers le bas. Cela vous permet de vérifier si la référence est unique (renvoie 1 dans ce cas). Ensuite on va simplement faire une som... |
| 09/10/2024 à 08:54 | Atch | Problème copie et indépendance zones de groupe | Je suis content que vous vous en soyez sorti, si vous avez d'autres questions n'hésitez pas. Je comprends tout à fait, moi aussi je suis autodidacte (mais de la nouvelle génération ahah). Je pense que ces manipulations vous auront appris beaucoup de choses concernant "l'organisation" des macros dans... |
| 08/10/2024 à 22:18 | lamarie | Macro Etendre des formules qui s'arrête avant la fin de la dernière ligne | Bonsoir, je viens de penser à quelque chose. Avez-vous essayé d'ajouter Application.Calculation=xlCalculationManual Au début de votre sub, et Application.Calculation=xlCalculationAutomatic A la fin ? Étant donné que vous insérez énormément de formules, c'est indispensable. C'est peut-être cela qui v... |
| 08/10/2024 à 21:58 | Atch | Problème copie et indépendance zones de groupe | @atch je regarde demain. Pour vous expliquer un peu le VBA : Vous voyez que le code en question se trouve dans le module de code de la feuille Excel, pas dans un module VBA standard. Il y est "lié" en quelques sortes. Cela permet de lancer la Macro suivant certaines conditions sur cette feuille (en... |
| 08/10/2024 à 17:37 | yann29 | Recherche de Formule | Oui effectivement la méthode est incorrecte. Il faut écrire dans la cellule directement =SI(NBVAL(G2;G10;G17)=3;"ü";"X") En laissant la police custom en place qui remplace ces caractères par un check et une croix... |
| 08/10/2024 à 17:22 | yann29 | Recherche de Formule | Et bien on compte le nombre d'agents affectés par jour. Il en faut 3 donc "=3". NBVAL compte les cellules non vides, càd les agents en poste... |
| 08/10/2024 à 16:56 | yann29 | Recherche de Formule | La formule de format conditionnel à appliquer en G2 : Vous pouvez ensuite c/c dans les autres colonnes le format de cellule... |
| 08/10/2024 à 16:32 | Atch | Problème copie et indépendance zones de groupe | Re, Ci-joint une proposition faite rapidement. Quand vous cliquez dans les cellules à droite du tableau, ca vous ouvre un petit userform. Vous sélectionnez et ca entre le résultat dans la cellule. La MFC s'occupe du coloriage, vous pouvez le changer dans le menu des MFC. A noter, le déclencheur de l... |
| 08/10/2024 à 16:05 | SEB4400744 | Lecture code barre 128 | Il existe de nombreux encodages (ou "languages") de codes barres ! Si votre machine utilise un autre encodage que le code 128 (ce qui semble etre le cas), elle ne lira pas votre code, ou lira autre chose. Vous devez d'abord vous assurer de l'encodage utilisé par votre machine (probablement indiqué d... |
| 08/10/2024 à 15:49 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Hello PatrickT, pas d'erreur sur ce point de mon coté. Lors de l'utilisation de Range(Cells, Cells), il n'y a pas besoin de "." devant Range car on lui donne déjà les cellules haut gauche et bas droite. Techniquement, on utilise la fonction de création de Range, pas la propriété d'une feuille... |
| 08/10/2024 à 15:25 | Atch | Problème copie et indépendance zones de groupe | C'est normal… Le problème est que pour chaque OptionButton que vous créez, vous devez lui réassigner une cellule, autrement lors de la copie il garde le lien sur la cellule initiale… Cela x votre nombre de cellules… Ca me semble irréalisable. C'est pourquoi je pense qu'il faut réfléchir à une soluti... |
| 08/10/2024 à 14:04 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | C'est une erreur "classique". Lorsque vous écrivez cela est strictement équivalent à Par défaut, si non précisé, les instructions se rapportent toujours à la feuille/au classeur actif. C'est pourquoi, dans votre cas particulièrement, l'instruction With, instruction (VBA) | Microsoft Learn va etre tr... |
| 08/10/2024 à 11:50 | freeflyer64 | Problème avec SaveAs dans une macro | Je ne suis pas sur mac donc je ne connais pas trop, mais est-ce que cela ne pourrait pas etre du à un fichier déjà présent avec le meme nom et/ou ouvert en meme temps ? Je ne suis pas sur que SaveAs sache s'occuper du cas ou le fichier existe déjà dans le dossier cible... |
| 08/10/2024 à 11:08 | J100DE1000 | Pause / Démarrer pour une boucle | Je me permet de donner une opinion, mais au vu du code, si le problème initial est de pauser la macro car temps d'exécution trop long, je pense qu'on peut éviter l'ajout d'un bouton simplement en optimisant la macro. Vos opérations de copier/coller pourraient etre quasi instantanées en réalité. A vo... |
| 08/10/2024 à 11:04 | BlackKho | Est-ce qu'INDEX/EQUIV est la solution? | Le problème est précisément là. Comment voulez-vous filtrer selon des bornes si ces dernières se chevauchent ? Une donnée recherchée peut vérifier 2 plages, et alors quel résultat renvoyer ? Après on parle un peu dans le vent, il faudrait voir directement sur un exemple réel comment faire. Par aille... |
| 08/10/2024 à 10:56 | Exactement10 | Afficher un tableau à partir du module dans une feuille rapidement | Malheureusement votre tableau n'est pas un "vrai" 2D array, donc on ne peut pas l'écrire d'un coup dans Excel. Par contre on peut l'écrire ligne par ligne. Ci-après une proposition d'optimisation, dites-moi si le résultat est suffisant... |
| 08/10/2024 à 09:09 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | Pour XL 2003 je ne sais pas, je n'ai jamais utilisé cette version. Je vous informais simplement de la manière de procéder pour éviter ce désagrément. Par ailleurs si vos opérations de copies ne sont destinées qu'à copier les valeurs, pas la mise en forme, la synthaxe suivante est à préférer Range("d... |
| 08/10/2024 à 09:01 | BlackKho | Est-ce qu'INDEX/EQUIV est la solution? | Sur O365, la formule suivante est équivalente, à tester : =FILTRE(D3:D11;($A$3:$A$11=G3)*($B$3:$B$11<=H3)*($C$3:$C$11>H3);"")... |
| 08/10/2024 à 08:51 | BlackKho | Est-ce qu'INDEX/EQUIV est la solution? | Sur O365, vous pouvez essayer de mettre un @ devant la formule. C'est étrange car chez moi cela fonctionne, sur l'exemple donné bien entendu. Sinon, comme je le précisais, la formule prend bien pour hypothèse que vos bornes en C et B soient distinctes (pas de chevauchement) ET successives. Sinon il... |
| 07/10/2024 à 17:29 | Griz | Chercher combien de fois apparait un mot sur une ligne | Pour rechercher votre cellule dans la colonne : Fonction Google Sheets : RECHERCHEV (sheets-pratique.com) Pour compter : Fonction Google Sheets : NB.SI (sheets-pratique.com) En supposant que vos lignes sont bien constituées de plusieurs cellules (1 mot/colonne)... |
| 07/10/2024 à 17:26 | G_P | Ecran qui papillonne lors de l'exécution d'une macro | C'est normal. Vous n'avez qu'une instance d'Excel ouverte cependant. Solution : vous n'avez pas besoin d'activer et désactiver les feuilles à tout va pour copier/coller. Utilisez simplement l'argument destination en précisant la feuille. Range.Copy, méthode (Excel) | Microsoft Learn... |
| 07/10/2024 à 17:22 | BlackKho | Est-ce qu'INDEX/EQUIV est la solution? | Compte tenu que vous etes sur XL2013 j'utiliserai plutot SOMMEPROD. Sur O365 il existe des nouvelles fonctions de filtre, mais vous n'y avez pas accès. On peut donc faire un SOMMEPROD en vérifiant 3 conditions : la 1e colonne, et les 2 bornes. Puisque vos plages ne se chevauchent pas (très important... |
| 07/10/2024 à 16:50 | Joco7915 | Beug sur un code suite protection feuille | La réponse se trouve dans la question. Lors du verrouillage de la feuille, autorisez le formattage des colonnes... |
| 07/10/2024 à 16:46 | Nicolasticot | Valeurs selon condition ComboBox | Parfait, n'oubliez pas de marquer le fil en résolu. Par ailleurs, un conseil sur votre code : Je vous déconseille d'utiliser des Goto lorsque ce n'est pas nécessaire. C'est une instruction qu'on aime beaucoup en tant que débutant, mais elle peut très vite amener à des dysfonctionnements. En l'occure... |
| 07/10/2024 à 16:36 | Adanac2906 | Rang selon une Valeur | @adanac super, si ton problème est résolu n'oublie pas de clore le fil. @JFL… Décidément, je m'emmèle les pinceaux. Mais oui, bien compris. Je me suis mélangé dans les noms de fonctions mais c'est le principe de fonctionnement qui m'intérrogeais... |
| 07/10/2024 à 16:02 | Adanac2906 | Rang selon une Valeur | Hum super intéressant, merci beaucoup ! Je n'avais pas fait le lien avec les 2 arguments du lambda de HSTACK (jamais utilisée jusqu'à présent), mais avec le parallèle sur List.Accumulate j'ai compris. Top. Vraiment très efficaces ces outils, ils m'intéressent de plus en plus... |
| 07/10/2024 à 15:42 | Nicolasticot | Valeurs selon condition ComboBox | Merci, C'est bien ce que je pensais, l'appel ComboBox.Value renvoie "autre chose" que le contenu (c'est en fait lié aux colonnes Excel lorsque vous créez un combobox à partir d'XL), très logique (non) n'entrons pas dans les détails techniques… Remplacez dans le Sub CommandButton2_Click() tous vos .V... |