M

Fanatique d'Excel

Inscrit le :20/07/2015
Dernière activité :14/12/2018 à 13:58
Version d'Excel :2010 FR
Lieu :Réunion
Messages
17'169
Votes
1'467
Fichiers
0
Téléchargements
0
SujetsMessagesStatistiquesVotes reçus

Messages postés par MFerrand - page 257

DateAuteur du sujetSujetExtrait du message
03/06/2016 à 12:59toutouVBA - Décaler(RechercheV,1) Offset(VLookUp,1) ?Tu n'as pas mis de 3e argument à Match... donc par défaut c'est 1 (recherche de valeur proche, les valeurs étant classées en ordre croissant). Je supposes qu'il faut que tu mettes 0 [recherche valeur exacte]. Cordialement. Et apprends à utiliser la balise Code dans l'écriture de ton post ! C...
03/06/2016 à 12:47shirudo Ajouter des arguments à une procédureParce qu'il faut pas mettre de parenthèse dans ce cas : MsgBox est une fonction : utilisation en tant que fonction, pour renvoyer une valeur. utilisation comme procédure d'affichage de message. Mais MsgBox(message) est accepté [avec seulement le premier argument]. Cordialement...
03/06/2016 à 03:12shirudo Ajouter des arguments à une procédureJuste un point, il faut que tu remplaces Target par Me.Cells(r.Row, 3) dans ton MsgBox. Target pouvant comporter plusieurs cellules il faut pointer la cellule qui est en C... Certes cette erreur ne se produira pas lors d'un effacement et ne peut se produire en principe que lors de la frappe d'un cod...
03/06/2016 à 02:50adrienc45Lister les userform d un workbook pour agir dessusLa dernière erreur, je viens de trouver ! Il faut que tu coches dans les références : Microsoft Visual Basic for Applications Extensibility 5.3 J'ai pu constater qu'en décochant j'avais la même erreur et VBComponent n'était plus proposé par l'assistant lors de la frappe d'une déclaration, après avoi...
02/06/2016 à 23:28jowil Insérer une ligneNB- Jamais judicieux d'utiliser noms de méthodes ou propriétés VBA comme noms de variables ou de procédures... Cordialement...
02/06/2016 à 22:51adrienc45Lister les userform d un workbook pour agir dessusAu cas où le problème n'est pas encore complètement résolu, essaie ceci : Cordialement...
02/06/2016 à 22:44micpid Compter des lignesC'est qu'il n'y a aucune valeur là où tu comptes...
02/06/2016 à 22:00toutouVBA - Décaler(RechercheV,1) Offset(VLookUp,1) ?Mais au moins le code complet que tu as utilisé. Et sers-toi de la balise code en le mettant dans le post. Et un fichier serait plus approprié pour visualiser la situation. Cordialement...
02/06/2016 à 21:57grorkalBoîte de dialogue --> RechercheTa partie 1 est quelque peu sommaire ! Et de toute façon incomplète. Et je conseillerais de ne pas utiliser un module de feuille de calcul pour une procédure qui n'a aucune raison d'y être. Cordialement...
02/06/2016 à 15:40RakeanCopier plage de donnée sur new tableur au nom relatifEt si tu pouvais éviter de balancer du code enregistré on ne s'en porterait que mieux ...
02/06/2016 à 15:29Shakapouet Création liste (validation de donnée) en VBASi ta formule est bonne, ceci doit fonctionner. Il faut apprendre à éviter de suivre l'enregistreur et traîner tous les paramètres facultatifs laissés à leur valeur par défaut... On gagne aussi un peu de place en passant les arguments par position. Maintenant, si une erreur 1004 persiste c'est que t...
02/06/2016 à 14:53NossilaRegrouper des lignesTel qu'est établi ton fichier tu obtiens facilement ce fonctionnement par filtrage... Le clic n'est pas un évènement significatif, on n'a donc pas de procédure permettant de le programmer, mais on peut programmer le double-clic et le clic droit. On peut donc utiliser le double-clic pour ouvrir et le...
02/06/2016 à 14:16Shakapouet Création liste (validation de donnée) en VBAJe crois que tu fais un joyeux meli-melo ! Mets donc ta formule à la main, ça aboutira plus vite. Sinon prends le temps d'étudier la syntaxe Excel de ce que tu utilises et comment la transposer en VBA. Cordialement...
02/06/2016 à 14:11marineo12PB NB.SI.ENS trois critèresCommence par mettre les chaînes (pas les nombres ni les références) entre guillemets et tu auras plus de chances avec n'importe quelle formule ...
02/06/2016 à 13:41marineo12PB NB.SI.ENS trois critèresTu y arriveras mieux avec : Cordialement...
02/06/2016 à 13:37guillaume6381 Gerer deux condition dans un Private Sub Worksheet_Change(By...
02/06/2016 à 13:27Shakapouet Création liste (validation de donnée) en VBAComme Dan, je ne vois pas vraiment l'utilité de mettre à contribution VBA lorsqu'on peut faire autrement... Mais lorsqu'on veut utiliser VBA pour concocter des formules qu'il serait 10 fois plus simple de taper simplement, et en anglais, on n'ignore pas que le séparateur n'est pas le point-virgule....
02/06/2016 à 13:04teknikStatistiques pourcentagesPas d'impatience à avoir, vu le nombre de questions que tu poses ! Et vu aussi la façon dont tu NE prépares PAS ton tableau pour obtenir facilement les résultats ! A savoir, tes périodes sont définies du mardi au lundi, (pas banal !) : il va donc être utile de créer une colonne dans le tableau pour...
02/06/2016 à 12:32mygooRechercheV de plusieurs valeurs dans une même celluleExcel est assez pauvre en fonction de manipulations de chaînes un peu sophistiquées. On y parvient par des combinaisons plus ou moins compliquées de fonctions texte existantes, éventuellement en passant par des résultats-relais... mais c'est un domaine dans lequel VBA permet de bâtir des fonctions p...
02/06/2016 à 11:42RakeanCopier plage de donnée sur new tableur au nom relatif1) Ceci n'est pas un nom de fichier valide. Si donc tu peux toujours créer un classeur, tu n'as pas pu l'enregistrer sous ce nom. 2) Ton code n'est pas dans ton classeur. Tu ne l'as donc pas testé ! 3) Tu ne donnes que des fragments de code et non une procédure que tu pourrais exécuter... Il convien...
02/06/2016 à 00:23shirudo Ajouter des arguments à une procédureA mettre dans la condition qui identifie l'erreur, avant le Exit Sub.....
01/06/2016 à 22:16RakeanNom absolu d'un fichier au nom variableTon nom de fichier incorporant le signe ":" n'est pas un nom de fichier valide. Ce signe sert à désigner un lecteur : exemple ; C:\, D:\... et est donc alors suivi d'un antislash. Mais ton nom n'est précédé d'aucun chemin, le fichier devrait donc être enregistré dans le dossier courant mais nepeut p...
01/06/2016 à 21:43julienstagiaire Colorier croisement d'une ligne et colonneMFC applicable à I18:K20. Formule conditionnelle : Cordialement...
01/06/2016 à 21:17sylvainlaforetTirages au sortUne fonction personnalisée, ça s'utilise comme toute autre fonction d'Excel ! Une fois collée dans un module strandard, tu oublies le module !! Et tu tapes ta fonction comme n'importe quelle autre !!! Et tu n'oublies pas de valider avec la combinaison de touches Ctrl+Maj+Entrée car il s'agit d'un fo...
01/06/2016 à 21:12Alexia Ajout ligne - Mise en forme conditionnelleVoilà la procédure complétée. Cordialement...
01/06/2016 à 20:09shirudo Ajouter des arguments à une procédureVois cette nouvelle version : Les changements : On étend la zone d'intersection prise en compte par la macro aux colonnes C à E. Compte tenu que l'intersection peut occuper 3 colonnes au lieu d'une, on ne considère plus la cellule mais la ligne renvoyée en tant que plage (variable r) dans la boucle...
01/06/2016 à 17:45Alexia Ajout ligne - Mise en forme conditionnelleUne seule procédure, affectée aux deux boutons. Les boutons sont renommés AjoutY et AjoutZ. La macro identifie le bouton appelant par le "Y" ou "Z" qui termine son nom. Elle balaie la plage des noms de salariés pour y détecter les changements de couleur de fond (pas d'autre critère pour savoir quell...
01/06/2016 à 16:35nonesofar13 Debug message d'erreur type d'argument ByRef incompatibleBon ! Je n'ai pas tout vu mais tes variables déclarées dans des procédures distinctes, même si elles portent le même nom, n'ont rien à voir les unes avec les autres ! Si tu démarres avec Dashboard_Light qui appelle tour à tour les autres procédures, et sachant que tes variables sont affectées dans C...
01/06/2016 à 16:00alphaju Zone de recherche / activer la recherche sur 3 colonnesAlors, sans fichier... ...
01/06/2016 à 15:59nonesofar13 Debug message d'erreur type d'argument ByRef incompatibleQuelque chose m'échappe : 1) Je ne vois pas d'où provient le classeur affecté Destwb, comment a-t-il été créé ou ouvert pour devenir le classeur actif lors de l'affectation ? 2) Dans quellel procédure se trouve le code qui appelle les macros ? Pour commencer... Ou il manque une foule d'éléments, ou...
01/06/2016 à 15:41Tham VBA - Changement de classeurEssaie ce code : Cette macro teste le nombre de classeurs ouverts, s'il n'y en a qu'un ou plus de 2, elle le signale et s'interrompt. S'il y en a 2, elle teste lequel a un autre nom que le sien... Le dernier MsgBox est juste destiné à tester le fonctionnement de la macro (à supprimer pour la suite)...
01/06/2016 à 15:18Alexia Ajout ligne - Mise en forme conditionnelleTu commences par déverrouiller ton fichier, on ne verrouille pas un fichier qu'on met à disposition sur un forum ...
01/06/2016 à 14:56nonesofar13 Debug message d'erreur type d'argument ByRef incompatibleJe n'ai pas vu ton code et notamment les déclarations de variables... Autres solutions : forcer le passage ByRef en mettant les arguments d'appel de la procédure entre parenthèses : et bien sûr, alors ne pas mettre ByVal pour les arguments déclarés... Ou s'assurer que les variables sont bien de même...
01/06/2016 à 14:41melissa44220Suivi heures salariésJe ne suis pas sûr de comprendre : en B2 tu n'as pas le mois mais une date, et il s'agit d'une date de 2015 et en A2 tu n'as pas l'année mais aussi une date (celle du 01/01/2016). C'est sans doute pour cela que tes lundis de démarrage ne sont pas des lundis. Tu mets comme première date en A11 le 1er...
01/06/2016 à 14:00Avie Rallonger plage de cellule nommée, erreurUne fonction comme SOMME.SI.ENS utilise plusieurs plages : plage de calcul et plages critères. Toutes ces plages doivent être de dimension rigoureusement égales, sinon la formule renvoie une erreur #VALEUR! Cordialement...
01/06/2016 à 13:53nonesofar13 Debug message d'erreur type d'argument ByRef incompatibleLe type de variable doit être rigoureusement le même pour pouvoir être passé par référence... Tu fais précéder les arguments de la macro appelée de l'instruction ByVal, et cela règlera le problème. Cordialement. NB- Mettre Public est inutile pour une procédure, elles sont toujours publiques par défa...
01/06/2016 à 13:35dyscus Calcul spécifique nbe jour entre 2 datesLa fonction JOURS360 devrait correspondre à ton attente, elle calcule le nombre de jours entre deux dates sur la base de mois de 30 jours. B2+1 car la fonction calcule "entre" et n'inclut pas la borne comme dans ton exemple. VRAI est l'argument qui indique qu'il s'agit du mode de calcul européen (à...
01/06/2016 à 12:54alphaju Zone de recherche / activer la recherche sur 3 colonnesEt en enlevant la boucle For col ...
01/06/2016 à 07:51U_goffu Problème avec Worksheets("Sheet1").VisibleCurieux ! Car dès que j'ai remplacé cette ligne par ThisWorkbook.Unprotect... seule la feuille 1 est restée visible (après un petit appui sur l'icône de test de macro bien sûr)...
01/06/2016 à 06:05fredrobinAddition de jours entre 2 datesIl n'y a aucune date dans ton fichier... ...
01/06/2016 à 05:34lllArthurlllNB.SI.ENS : critère = MatriceNB.SI accepte une plage comme critère. On s'en sert fréquemment pour calculer le nombre de valeurs uniques d'une plage avec : =SOMMEPROD(1/NB.SI(plage;plage)) Cordialement...
01/06/2016 à 04:29Etrof[Transformer un tableau de données en une seule ligne]Ton tableau a 30 colonnes et 16 lignes. Transposé, il comportera 16 colonnes et 30 lignes. Tu peux le transposer d'un seul coup, par copie et collage spécial Transposé. (voir Feuil2) En collant tout tu transposes aussi les formats. Tu peux aussi le faire par formule : tu sélectionnes la plage A1:P30...
01/06/2016 à 04:00212bashaut Date à partir de numéro de semaineDATE(A2;1;3)-JOURSEM(DATE(A2;1;3)+2 Cette expression, soit 3janvier-joursem(3janvier)+2 , pour une année donnée donne la date du lundi de la semaine 1. Sachant que JOURSEM renvoie un nombre dans une suite de 1 à 7 selon le jour de la semaine, considéré du dimanche au samedi, tu peux poser tous les c...
01/06/2016 à 03:32lenovicBOUCLEJuste quelques remarques : utilise la balise Code pour mettre du code dans un post (on le lira mieux) indente ton code, cela permet de voir et comprendre immédiatement ce que l'on lit respecte les autres règles d'écriture (qui ont leur raison) : les variables se déclarent toutes en tête de procédure...
01/06/2016 à 03:12mathieu77Trop de conditionsJ'aurais un peu de mal à entrer dans le détail des significations de tes conditions... Mais, ta réponse étant binaire, puisque seules deux réponses peuvent alterner (et non trois, 3e réponse étant ni l'une ni l'autre, apparemment exclue), il faudrait que l'on puisse voir en regard de ce qui conditio...
01/06/2016 à 03:00alexivdvGénérer nombre aléatoireJe peux confirmer (sans vérifier) que si la probabilité de sortie obéit à une loi, on n'est plus sur un tirage aléatoire équiprobable... En principe, on cherche à définir s'il y a une loi à partir d'échantillons représentatifs (tirés eux aléatoirement). On se trouve souvent ramené à une loi normale...
01/06/2016 à 02:26U_goffu Problème avec Worksheets("Sheet1").VisibleNe trouves-tu pas que ton commentaire et la commande sont quelque peu antinomiques Si tu protèges au lieu de déprotéger avant d'opérer, résultat garanti ! NB- Utiliser ThisWorkbook (désigne précisément le classeur contenant la macro) plutôt que ActiveWorkbook (imprécis...). La procédure devrait être...
01/06/2016 à 02:15teuteuCréation de macroOu bien (x et y semblant être des lignes différentes : Mais je ne vois pas matière à macro... Cordialement...
01/06/2016 à 02:08jojozazou1210Fonction SISi on parvient à comprendre ce que tu veux faire, c'est sûrement réalisable ! J'ai l'impression que tu vises à mettre dans ton planning des mentions de type : loué ou libre ou occupé ou ... ? Et que à la sélection d'un appartement, cela t'affiche le planning le concernant. Si c'est le cas, il te fau...
01/06/2016 à 01:47shirudo Ajouter des arguments à une procédureJ'espère que tes essais se poursuivent dans de bonnes conditions... J'avais réécrit dans le courant de la nuit (sur papier, lors d'un réveil ponctuel) la procédure pour englober l'ensemble des questions soulevées, mais (désolé) je n'ai pas eu le loisir de pouvoir la trancrire... ça viendra ! A+...