Passionné d'Excel

Inscrit le :28/05/2024
Dernière activité :Vendredi à 17:55
Version d'Excel :365 EN
Lieu :France
Messages
3'412
Votes
1'028
Fichiers
0
Téléchargements
0
SujetsMessagesStatistiquesVotes reçus

Messages postés par saboh12617 - page 53

DateAuteur du sujetSujetExtrait du message
11/10/2024 à 17:02Matt56Dupliquer un formulaire autant de fois que nécessaireDe 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:26Matt56Dupliquer un formulaire autant de fois que nécessaireD'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:41Mostat78Regrouper des fichiers dans des dossiers en suivant une liste ExcelPeut 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:27Matt56Dupliquer un formulaire autant de fois que nécessaireRe, 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:57Matt56Dupliquer un formulaire autant de fois que nécessairePuisque 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:35jdlionCopier coller bizarrePour 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:30Joco7915 Appliquer une macro à plusieurs feuillesDans 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:14Joco7915 Appliquer une macro à plusieurs feuillesAttention à 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:44GoldenBoyy972Ouvrir userform selon checkboxBonjour, 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:12dupuyErreur de compilationEffectivement 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:48Doofy59 Méthode find, ajouter une condition si la valeur cherchée est trouvéeExcusez 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:33Doofy59 Méthode find, ajouter une condition si la valeur cherchée est trouvéeRe, 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:59Doofy59 Méthode find, ajouter une condition si la valeur cherchée est trouvéeAh 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:35Doofy59 Méthode find, ajouter une condition si la valeur cherchée est trouvéeJe 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:33G_P Ecran qui papillonne lors de l'exécution d'une macroEffectivement, 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:16G_P Ecran qui papillonne lors de l'exécution d'une macroEffectivement, 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:58G_P Ecran qui papillonne lors de l'exécution d'une macroBon 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:25val428 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:30val428 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:40DocksoundVBA et Excel 365 sur MacAh, 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:21DocksoundVBA et Excel 365 sur MacLa 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:15G_P Ecran qui papillonne lors de l'exécution d'une macroMais 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:49Goko Délai de réparationVoir 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:54val428 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:54Atch Problème copie et indépendance zones de groupeJe 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:18lamarie Macro Etendre des formules qui s'arrête avant la fin de la dernière ligneBonsoir, 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:58Atch 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:37yann29Recherche de FormuleOui 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:22yann29Recherche de FormuleEt 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:56yann29Recherche de FormuleLa formule de format conditionnel à appliquer en G2 : Vous pouvez ensuite c/c dans les autres colonnes le format de cellule...
08/10/2024 à 16:32Atch Problème copie et indépendance zones de groupeRe, 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:05SEB4400744Lecture code barre 128Il 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:49G_P Ecran qui papillonne lors de l'exécution d'une macroHello 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:25Atch Problème copie et indépendance zones de groupeC'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:04G_P Ecran qui papillonne lors de l'exécution d'une macroC'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:50freeflyer64Problème avec SaveAs dans une macroJe 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:08J100DE1000 Pause / Démarrer pour une boucleJe 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:04BlackKho 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:56Exactement10Afficher un tableau à partir du module dans une feuille rapidementMalheureusement 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:09G_P Ecran qui papillonne lors de l'exécution d'une macroPour 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:01BlackKho 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:51BlackKho 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:29Griz Chercher combien de fois apparait un mot sur une lignePour 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:26G_P Ecran qui papillonne lors de l'exécution d'une macroC'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:22BlackKho 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:50Joco7915 Beug sur un code suite protection feuilleLa réponse se trouve dans la question. Lors du verrouillage de la feuille, autorisez le formattage des colonnes...
07/10/2024 à 16:46Nicolasticot Valeurs selon condition ComboBoxParfait, 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:36Adanac2906 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:02Adanac2906 Rang selon une ValeurHum 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:42Nicolasticot Valeurs selon condition ComboBoxMerci, 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...