Précédent   Forum Mac > >


Bureautique, utilitaires, éducation Pour les autres applications, voir les forums spécialisés.
Pour iLife, voir les forums "Création".

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 27/05/2012, 21h39
Question Excel : bouton macro ajouter une ligne
  #1
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor
Bonjour,

Une question pour les pros des macros (office 2011) :

Je voudrais pour simplifier la saisie dans un tableau insérer en haut de tableau un bouton "ajouter une ligne", sachant que :

- la ligne doit respecter la mise en forme conditionnelle de la ligne entière du type formule sur la valeur d'une cellule (ça c'est fait : =$F2="NOK" => Données!$A$2:$F$2 s'affiche en rouge)

- la ligne doit s'ajouter au début du tableau sous la ligne d'en-tête

Quel format d'enregistrement pour conserver la macro et pour s'en servir sous XP ?

Merci d'avance
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation
Publicité
Vieux 28/05/2012, 00h04   #2
Aliboron
Chercheur de son
 
Avatar de Aliboron
 
Date d'inscription: 01/01/08
Localisation: Toulouse.cong
Messages: 10851
Disco: Aliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au Pacha
A priori rien de bien complexe à faire, ce pourrait presque s'obtenir en enregistrant les actions.

En insérant une ligne, par défaut on conserve la mise en forme, y compris conditionnelle. Ce qui simplifie ce point. Il suffit donc d'insérer une ligne avant la lige 2 et d'en supprimer le contenu. Tu devrais donc obtenir le résultat attendu en affectant la macro suivante à ton bouton :

Code:
Sub InsertionLigne()
ActiveSheet.Rows("2:2").Copy
ActiveSheet.Rows("2:2").Insert Shift:=xlDown
ActiveSheet.Rows("2:2").ClearContents
Range("A2").Select
End Sub
A priori, c'est assez basique pour que ça fonctionne à l'identique dans une version Windows.
--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Aliboron est déconnecté   Réponse avec citation
Vieux 28/05/2012, 08h58   #3
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor
Merci,

Mais où se trouvent ces "Boîte à outils Contrôles" ou "Affichage > Barre d'outils > Formulaires" pour créer le bouton ?
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation
Vieux 28/05/2012, 09h05   #4
Aliboron
Chercheur de son
 
Avatar de Aliboron
 
Date d'inscription: 01/01/08
Localisation: Toulouse.cong
Messages: 10851
Disco: Aliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au Pacha
Ah, ça a un peu changé avec Excel 2011 : ça se trouve dans l'onglet "Développeur" du ruban. On active l'affichage de cet onglet dans les préférences d'Excel, onglet "Ruban".
--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Aliboron est déconnecté   Réponse avec citation
Vieux 28/05/2012, 10h42   #5
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor


Cela marche impecc, par contre pour l'enregistrement, il faut que j'indique un format compatible avec les macros, j'ai choisi .xlms

Un grand merci
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation
Vieux 13/06/2012, 18h58
Unhappy
  #6
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor
Je rencontre un nouveau problème lié à cette macro :

J'ai créé une nouvelle feuille 'Synthèse' dans laquelle j'ai plusieurs colonnes pour compter les occurences par mois de tel ou tel type de ma première feuille 'Données', avec des formules de type

=SOMMEPROD((MOIS(Données!$B$3:$B$9999)=MOIS(A2))*( ANNEE(Données!$B$3:$B$9999)=ANNEE(A2))*(Données!$I $3:$I$9999="En cours"))

Cela fonctionne très bien, mais chaque fois que j'ajoute une ligne via le bouton macro dans la feuille 'Données', cela modifie la plage de mes formules dans la feuille 'Synthèse' en les décalant d'autant de lignes ajoutées, et cela malgré les $.

2 lignes ajoutées > =SOMMEPROD((MOIS(Données!$B$5:$B$10001)=MOIS(A2))* (ANNEE(Données!$B$5:$B$10001)=ANNEE(A2))*(Données! $I$5:$I$10001="En cours"))

Ce qui a pour effet que les lignes ajoutées dans la feuille 'Données' et qui ont les numéros 3 et 4 ne sont prises en compte.

J'ai testé sur Office mac 2011 et Office pc 2010 : idem

Que dois-je faire pour résoudre ce problème ?
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation
Vieux 13/06/2012, 23h56   #7
Aliboron
Chercheur de son
 
Avatar de Aliboron
 
Date d'inscription: 01/01/08
Localisation: Toulouse.cong
Messages: 10851
Disco: Aliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au PachaAliboron mixe pour MacGeneration au Pacha
Citation:
Envoyé par kabeha Voir le message
Cela fonctionne très bien, mais chaque fois que j'ajoute une ligne via le bouton macro dans la feuille 'Données', cela modifie la plage de mes formules dans la feuille 'Synthèse' en les décalant d'autant de lignes ajoutées, et cela malgré les $.
Normal, les formules dans une feuille s'adaptent. Il faut passer par une macro ou par la fonction "Indirect()", par exemple.

Dans ton cas, je te propose de passer par des plages nommées de taille variable. En utilisant les noms pour désigner les plages, tu peux contourner le problème : tu vas dans le menu "Insertion" > "Nom" > "Définir…" et tu crées une plage nommée "MonMois" faisant référence à "=DECALER(Données!$A$3;1;0;NBVAL(Données!$A:$A)-3)". Cette plage s'adaptera au nombre de cellules contenant des données dans la colonne A:A. Autrement dit, la plage "MonMois" fera référence à la plage allant de la cellule A3 jusqu'à la dernière cellule de la colonne. Même chose pour les colonnes B:B et I:I (tu crées des plages nommées "MonAnnee" et "MonEtat").

Ensuite, tu utilises ces noms dans tes formules, par exemple :
=SOMMEPROD((MOIS(MonMois)=MOIS(A2))*(ANNEE(MonAnne e)=ANNEE(A2))*(MonEtat="En cours"))
--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Aliboron est déconnecté   Réponse avec citation
Vieux 14/06/2012, 22h56   #8
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor


Merci de m'avoir fait découvrir cette fonction, j'ai juste du ajuster les arguments, même si je n'ai pas vraiment compris toutes les subtilités.

=DECALER(Données!$B$2;1;0;NBVAL(Données!$B:$B)-1)

Enfin, ça marche bien, j'ai ajouté des lignes avec différents mois, nickel.

Excel est toujours une source d'épatement
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation
Vieux 04/01/2013, 18h43   #9
kabeha
Membre d'élite
 
Avatar de kabeha
 
Date d'inscription: 13/05/02
Localisation: Bourg en Bresse
Messages: 1293
Disco: kabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floorkabeha invite les filles à danser sur le dance floor
Bonjour,
Je me permets de remonter ce fil ouvert par moi-même, car je rencontre une nouvelle difficulté avec une insertion de ligne :
Un classeur avec 3 feuilles
feuille 1 : données
feuille 2 : données + calculs qui utilisent des résultats de la feuille 3
feuille 3 : calculs qui utilisent données des feuilles 1 et 2 (afin de découper et simplifier les formules de la feuille 2)
Quand j'utilise une macro de type
"Sub NouvelleLigne()

Sheets("feuille2").Range("A65536").End(xlUp).Entir eRow.Copy Sheets("feuille2").Range("A65536").End(xlUp).Offse t(1, 0)
Sheets("feuille2").Range("A65536").End(xlUp).Entir eRow.SpecialCells(xlConstants).ClearContents

End Sub"

Cela me crée des erreurs dans les cellules de la feuille3 qui font références aux cellules de la feuille2, je me retrouve avec des #HREF à la place des adresses dans mes formules, ce qui m'affiche #HREF dans les cellules, ainsi que dans celles qui y font référence.
--------------------
"Il ne sera pas dit, quoi qu'il arrive, que je sois capable de me repentir" Dom Juan Acte V Scène V
kabeha est déconnecté   Réponse avec citation

Réponse
Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non


Navigation rapide



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[Résolu] Macro excel : émettre un son wav cma Bureautique, utilitaires, éducation 4 01/04/2012 16h22
macro Auto_ouvrir sur Excel Oui Bureautique, utilitaires, éducation 11 02/05/2010 08h30
Macro Excel sous Mac Jean Jacques M Bureautique, utilitaires, éducation 19 21/03/2010 19h21
Pb conversion macro excel sur mac bob sorbet Bureautique, utilitaires, éducation 2 05/04/2008 19h03
Cherche Macro Excel medjemni Bureautique, utilitaires, éducation 2 09/02/2005 23h26


Fuseau horaire GMT +2. Il est actuellement 04h06.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Version française #20 par l'association vBulletin francophone
Search Engine Optimisation provided by DragonByte SEO v1.1.1 (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 18,18%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
CNIL N°1009176