| Date | Auteur du sujet | Sujet | Extrait du message |
|---|
| 02/11/2008 à 15:39 | cfn3cfn | Suppression | Voici une méthode un peu artisanale Créer dans ton classeur une nouvelle feuille que tu baptiseras "temp" dans un module standart (Module1) coller ces 2 macros Après avoir exécuté la macro "ListerNoms" tu trouveras dans la feuille "temp" la liste de tous les noms de ton classeur. Supprimer dans cett... |
| 02/11/2008 à 15:06 | dubois | VBA Vider le ThisWorkbook | ? Tu voudrais faire ça en VBA ? Selon mon expérience cette hypothèse n'a guère de sens. Il est impossible de prévoir tous les cas de figure qui peuvent entrainer l'utilisation du fichier de sauvegarde ou du fichier d'archive à la place du fichier d'origine. La suppression d'un fichier peut se faire... |
| 02/11/2008 à 12:37 | dubois | VBA Vider le ThisWorkbook | Inutile de faire compliqué quand on peut faire simple... Les fichiers de sauvegarde ne doivent pas être enregistrés sous le même nom que le fichier de travail . Même dans un répertoire différent ! (sinon il y aura le problème de OnTime évoqué précédement à chaque ouverture. En conséquence et comme i... |
| 02/11/2008 à 01:43 | dubois | VBA Vider le ThisWorkbook | Si je peux me permettre... J'ai lu un petit peu le topic en question. Pour avoir déjà utilisé ce genre de routine, je résoud habituellement ce genre de problème de la manière suivante : Soit un fichier qui s'appelle "MAIN COURANTE.xls" (par exemple...) : 1- Je ne fais jamais de CopyAs 2- On peut fai... |
| 01/11/2008 à 19:35 | idealoncle | Bingo sur Excel | Re... il existe presque autant de façon de programmer une série aléatoire que de programmeurs... Dire qu'une série de 10 000 demande plusieurs minutes est surtout lié au type de macro utilisée : Cette macro les affiche en une seconde environ ! A+... |
| 01/11/2008 à 19:01 | idealoncle | Bingo sur Excel | Toutes mes macros sont librement modifiables ! S'il s'agit de générer en un seul clic toute une liste de nombre, cette autre est plus appropriée. Ce genre de macro est déjà un peu complexe et réservée à ceux qui ont déjà une bonne expérience en programmation VBA. Toutefois YAKA la recopier dans n'im... |
| 01/11/2008 à 17:43 | idealoncle | Bingo sur Excel | Nota : Ces démos très minimalistes (pour ne pas dire simplistes...) ne fonctionnent pas dans IE. Il faut d'abord les télécharger puis les exécuter dans Excel pour un fonctionnement correct... Pour la route, la même en couleur (avec une fourchette de 1 à 25) A+... |
| 01/11/2008 à 16:51 | idealoncle | Bingo sur Excel | Euh... Il n'est pas aisé de répondre à ta question ! La mécanique de génération de nombres aléatoires est bien connue et il est facile de générer une série de nombre de 1 à n. On peut se contenter de formules au prix de quelques manipulations quand il s'agit de faire un tirage préparatoire à un trav... |
| 01/11/2008 à 06:45 | EricF | Obliger un textbox à ne prendre que des nombres | Sur le fond, tu peux te contenter de ça : Le TextBox ne reçoit alors QUE des données numériques. On Error Resume Next ignore une erreur éventuelle. On Error Resume Next est indispensable au cas ou l'utilisateur commencerait sa saisie par une lettre... On peut améliorer cette macro de base en inséran... |
| 30/10/2008 à 17:31 | dubois | VBA déclencher une macro à un moment précis | Re... Bien remarquer le : à placer dans module1 EN DEHORS de toute macro et AVANT la première macro. (juste après " Option Explicit " le cas échéant...) Cette déclaration doit être comprise comme une variable commune aux deux macros. Nota : par suite, s'il y a d'autres macros dans ce module cette va... |
| 30/10/2008 à 16:34 | dubois | VBA déclencher une macro à un moment précis | Perdu ! Récursif : Dans Workbook_Open : Dans Module1 : Pour les besoins de la démo la tempo est réglé sur 15 secondes. Il faudra règler sur "01:00:00", Attention : Quand une procédure OnTime est programmée, elle tente de s'exécuter même si le classeur est fermé. Ce qui peut entrainer quelques planta... |
| 30/10/2008 à 07:08 | scooby74 | Formule variable d'heure | Bah, ce fichier n'est pas de moi... J'y ai juste inséré quelques formules... On peut résumer ça comme tu dis. La difficulté est de soustraire 5:00 - 21:00 (par exemple) dans des formules SI(...) et de gagner à tous les coups ! Sans parler de la pause... Des formules existent. Personnellement j'ai un... |
| 30/10/2008 à 06:00 | scooby74 | Formule variable d'heure | Sissi, c'est faisaible... Mais c'est pas hyper simple : C'est pas de la formule de branlo ! J'avais bricolé une soluce de ce genre pour des horaires de nuit au québec. (avec quelques nuances subtiles...) Pour te donner une idée du travail, regarde (dans la première feuille uniquement) Les heures de... |
| 29/10/2008 à 21:09 | dubois | VBA Faire une copie de sauvegarde | Toutes les variables sont destinées à contenir des chaines de caractère (donc de type string) On peut donc utiliser "As String" dans les quatres cas. Personnellement j'utiliserais plutôt : Cette manière de faire est absolument équivalente et (à mon avis) bien plus ergonomique Toute variable déclarée... |
| 29/10/2008 à 15:50 | dubois | VBA Faire une copie de sauvegarde | Ca devrait donner : A+... |
| 29/10/2008 à 07:01 | cfn3cfn | Tabulation auto | Avec VBA et les macros évènementielle, on rentre dans un domaine beaucoup plus complexe. Cette est très (très !) perfectible... A+... |
| 28/10/2008 à 21:28 | cfn3cfn | Masquer formule | Le beurre, l'argent du beurre... et la crémière ! hein ? Ce qu tu demandes n'est pas possible : La barre de formule étant précisément destinée à "voir la formule" pour la modifier, il n'y a pas d'autre solution que de ne pas afficher cette barre pour ne plus être embêté. Pour ne plus voir la barre d... |
| 22/10/2008 à 00:34 | dubois | VBA déclencher une macro à un moment précis | Regarde l'aide de OnTime c'est très bien expliqué. Yaka mettre quelques instructions dans le Workbook_Open pour exécuter telle ou telle macro toutes les heures ou tous les jours à telle heure... ça devrait te faire quelques chose comme ça : (Dans le ThisWorkbook: Private Sub Workbook_Open() If Weekd... |
| 21/10/2008 à 23:44 | dubois | VBA déclencher une macro à un moment précis | Nooooooooon... je ne vois pas bien ! Que ce fichier soit un fichier Excel ou non celà suppose que le fichier est ouvert tous les jours (ou tous les vendredis) pour que la macro puisse s'exécuter : Si le fichier n'est pas ouvert le vendredi à 7h59 aucune macro ne peut s'exécuter à 8h00 ! Maintenant,... |
| 21/10/2008 à 23:14 | dubois | VBA déclencher une macro à un moment précis | Voir dans le panneau de configuration de windows : Taches planifiées A+... |
| 04/10/2008 à 10:27 | dubois | VBA Private Sub (non reconduit sur feuille copiée) | Voici le code générique : A placer tout de suite après la copie de la feuille (Le classeur cible étant supposé actif) On peut aussi par sécurité utiliser With Workbooks("blabla")... Worksheets("blablabla")... (Détruit tout le code... Private Sub ou pas...) A+... |
| 04/10/2008 à 07:39 | lelanceur | Afficher automatiquement les macro au démarage d'Excel | Ca dépend si ce sont tes macros ou toutes les macros en général, si c'est ton ordinateur ou l'ordinateur des autres (sur une réseau par exemple). Préciser la question SVP. Changer la sécurité des macro ne marche pas.... Si...Si... Sur ton ordinateur avec le niveau faible tu n'auras pas de question.... |
| 28/09/2008 à 15:09 | samplai | Problème de moyenne et pourcentage | Il ne faut pas confondre nombre et argument. Tu peux très bien avoir 250 nombres dans une plage A1:A250 et un seul argument : = MOYENNE(A1:A250) A+... |
| 26/09/2008 à 21:39 | petula972 | Compter les cellules non vides | Une autre solution en formule pour AH3 et salariés en gras =SOMMEPROD(((C3:AG3)=AH$2)*(JOURSEM(C$2:AG$2;2)<6)) pour AH21 et salariés en maigre =SOMMEPROD(((C21:AG21)=AH$2)*(JOURSEM(C$2:AG$2;2)<7)) Attention ! Formules matricielles à valider par Ctrl+Maj+Entr A+... |
| 26/09/2008 à 18:22 | iso_04 | Base de données : BDMIN | Une 'tite A+... |
| 25/09/2008 à 11:23 | tonilo | Question au niveau d'une sélection de colonne | Heu... Tu ne peux pas analyser un bribe de formule déséquilibrée (*) : Tu peux analyser : DECALER(A6;(NB(A6:A37)-1)*2;)=A6 première partie du SI (condition) ou cette autre : DECALER(A6;(NB(A6:A37)-1)*2;) (renvoie la dernière cellule de ta plage) ou cette autre : (NB(A6:A37)-1)*2 renvoie le décalage... |
| 25/09/2008 à 01:40 | VinceL | Pb dans une condition d'un SOMMEPROD | J'ai un peu de mal à évaluer la pugnacité du résultat par rapport à ce que tu en attend... peut-être une solution avec cette formule : =SOMMEPROD((($A$5:$A$36)>0)*(($C$5:$C$36)>0)*(($B$5:$B$36)>0)*($A$5:$A$36>=F16)*($A$5:$A$36<=F17)*NON(ESTERR((DATEDIF($B$5:$B$36;$C$5:$C$36;"d"))))) o... |
| 24/09/2008 à 20:12 | tonilo | Question au niveau d'une sélection de colonne | Une solution : =SI(DECALER(A6;(NB(A6:A37)-1)*2;)=A6;"Formule1";"Formule2") A+... |
| 23/09/2008 à 14:05 | dieudo51 | Enlever une partie du texte d'une cellule | Re... et en VBA pour changer directement le texte dans la selection : A+... |
| 23/09/2008 à 13:41 | dieudo51 | Enlever une partie du texte d'une cellule | Si le texte à purger se trouve en colonne A la formule pour A1 =STXT(A1;TROUVE("objet";A1);NBCAR(A1)) Formule à tirer vers le bas. [Edit] Punaise ! 'suis pas le champion du copier/coller ! A+... |
| 23/09/2008 à 13:09 | duodag | Faire clignoter le texte d'une cellule et non la cellule | Nous sommes bien d'accord : ce n'est que mon point de vue ! Mais le fait d'être vulgarisé par certain n'est en aucun cas un brevet d'utilité publique ! C'est aussi l'utilité d'un forum de prodiguer des avis ou conseils. Une bonne raison de ne pas l'utiliser : Selon mon expérience c'est à peu près au... |
| 23/09/2008 à 08:47 | duodag | Faire clignoter le texte d'une cellule et non la cellule | Cellule ou texte, ce genre de macros sont des "exercices d'école" à éviter soigneusement dans Excel qui n'est ni un logiciel de traitement de texte ni un logiciel graphique. A+... |
| 23/09/2008 à 00:16 | Yvouille | Code VBA, Sélection d'1 feuille selon la valeur d'1 cellule | Il ne peux y avoir de Worksheet_Calculate_ Bis utilise : Bon je dis pas que c'est un code brillant... mais ça peux marcher ! A+... |
| 22/09/2008 à 23:55 | Daikini | Réorganisation automatique de résultats générés | La modification a consisté à transformer les variables de ligne iO et iD en variable de type long Dim iO% est l'équivalent de Dim iO as Integer Dim iO& est l'équivalent de Dim iO as Long ... ce qui permettra à la macro de franchir allègrement le cap des 30 000 sans pb. Le code est suffisamment optim... |
| 22/09/2008 à 16:40 | Daikini | Réorganisation automatique de résultats générés | 5000 x 10 = 50 000 ? ça va faire un peu juste : rempacer : Dim i%, j%, k%, iO & , iD & , WsO As Worksheet, WsD As Worksheet Problème ? Prévoir assez de café et des cigarettes le temps du traitement ! A+... |
| 22/09/2008 à 11:35 | Daikini | Réorganisation automatique de résultats générés | Une possibilité [Edit] : L'affichage écran passe mal si tu essaies de tester la macro sans télécharger le fichier. YAKA faire une aller retour d'ascenseur pour vérifier que ça fonctionne bien. En revanche une fois téléchargé, l'affichage fonctionne au quart de tour. A+... |
| 22/09/2008 à 08:21 | duodag | Copier le contenu d'une cellule d'une feuille sur une autre | Evidemment : Le copier / coller recopie les formules en l'état et comme tu ne fais pas une "copie conforme", ça ne gaze pas. Il faut faire du collage => spécial valeur. Sais-tu qu'il existe dans Excel un outil appelé enregistreur de macro qui te permet de trouver par toi-même ce genre de solution... |
| 21/09/2008 à 19:51 | dan67 | Zone de liste pour sélectionner une plage de cellules | L'avantage de cette méthode est qu'elle évite toute gestion d'erreur et de chevauchement de plage : Ou les cellules sont libres et déprotégées donc sélectionnables ; ou elles sont occupées et dans ce cas, pas moyen de double affectation. Sinon tu serais obligé de gérer la pertinence de la plage hora... |
| 21/09/2008 à 19:14 | morpheus51 | Saisie dans le désordre mais affichage dans l'ordre | Ordre... contrordre... des ordres : C'est la faute à ton titre qui laisse à penser qu'il faut remettre de l'ordre dans ton désordre ! Thibo : A+... |
| 21/09/2008 à 15:34 | morpheus51 | Saisie dans le désordre mais affichage dans l'ordre | Une solution avec PETITEVALEUR Attention formule matricielle (à valider par Ctrl+Maj+Entr ) la A+... |
| 21/09/2008 à 15:13 | dan67 | Zone de liste pour sélectionner une plage de cellules | A mon avis Non ! (pour les zones de liste pour sélectionner les plages) En tout cas je crois pouvoir affirmer que personne ne "s'amuserait" à essayer de finaliser une appli sur cette base là ! A titre indicatif je t'ai bricolé une ch'tite démo sur la base d'une sélection préalable. Mais bien sur ça... |
| 21/09/2008 à 08:37 | ptialex | Copie de ligne | Si j'ai bien compris... laformle pour C2 : =RECHERCHEV(B2;Feuil1!B2:R215;2;) pour C3 : =RECHERCHEV(B2;Feuil1!B2:R215;3;) et ainsi de suite ! A+... |
| 21/09/2008 à 01:26 | dan67 | Zone de liste pour sélectionner une plage de cellules | Ca parait quand même une drôle d'idée. D'ordinaire pour sélectionner des cellules on se contente de la souris. Pourquoi diable chercher un truc aussi compliqué ? Je peux à la rigueur comprendre que, après la sélection, tu veuilles utiliser un USF pour mettre des informations complémentaires dans la... |
| 21/09/2008 à 01:12 | Invité | Macro pour fusion de cellules | Re... je t'ai refais la même revue et corrigée à la lumière de ce dernier fichier bien plus explicite. ça devrait faire le joint, non ? A+... |
| 20/09/2008 à 23:58 | Invité | Macro pour fusion de cellules | Je n'ai pas réussi à fire fonctionner la macro à sylvain ? pas trop cherché non plus, car je venais de finaliser sur une autre base : je n'ai pas cherché non plus le rapport avec l'autre ficelle. A+... |
| 20/09/2008 à 08:15 | anasleco | Supprimer des lignes automatiquement? | Pourquoi Exit Sub avant la gestion d'erreur ? Par habitude... Pourquoi une gestion d'erreur ? Parce qu'il y a une erreur dans la colonne I et que ça faisait planter la macro ! Pourquoi j'ai pas mis de MsgBox dans la gestion d'erreur ? Parce que ce très long fichier m'a mis de (très) mauvaise humeur... |
| 19/09/2008 à 22:45 | anasleco | Supprimer des lignes automatiquement? | Voici une macro qui fait a peu près ce que tu demandes. Sauf qu'elle s'arrête quand elle détecte une valeur d'erreur. Il faudra donc faire soigneusement attention à éliminer toute valeur d'erreur de ton fichier. (colonne i ) Je n'ai pas testé non plus si elle est compatible avec le filtre. (car il a... |
| 19/09/2008 à 21:43 | DAMI | Formule Excel | Cela semble bien difficile... En fait je pense que la solution (s'il y en a) dépend étroitement des valeurs des cellules A4:A10 et B4:B10 Si les valeurs sont variables et si comme dans ton exemple il ya des doublons (d en B5 et B9) alors il sera bien difficile de trouver une solution sans recourir à... |
| 19/09/2008 à 18:50 | sylas33 | Problème formule macros | Re... Ton exemple est encore plus imbuvable que le reste. Je pensais à quelque chose comme : dercol = Range("AH142").End(xlToLeft).Column AdTrans = Range("AH142").End(xlToLeft).Offset(1, 1).Address ActiveCell.Formula = "=M23* 1000 / " & AdTrans mébon... comme ton exemple n'offre aucune cohérence ave... |
| 19/09/2008 à 13:16 | sylas33 | Problème formule macros | Ben... Si on doit se contenter de tes indications c'est un peu juste. Un bout de fichier qui permette de comprendre le fonctionnement (et surtout la structure) de ton truc me parait indispensable. J'avoue que je peine un peu à comprendre la logique de la construction : dercol = Range("AH142").End(xl... |