× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Fonction Si ou Macro ?Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
maryloo2005
  Posté le 22/03/2015 @ 18:22 
Aller en bas de la page 
Astucienne

Normal 0 21 false false false FR X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tableau Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0cm; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-fareast-language:EN-US;}

Bonjour,

J'ai deux fichiers Excel différents :

- l'un ou il y a toutes les informations du salarié (la base de données que je vous joins avec cjoint), http://cjoint.com/?0CwsH2zr7bt

- le deuxième, ce sera un tableau uniquement composé des personnes bénéficiaires du RSA. Je ne l'ai pas encore puisqu'il est l'objet de ma question.

Donc il faudrait que je trouve une fonction SI ou une Macro (je pense), qui me permettrait de dire :

"si le salarié est au RSA, alors, recopier sa ligne d'information dans le 2e tableau, sinon ne rien faire).

SI dans la cellule (colonne C du 1er tableau) "bénéficiaire du RSA" il y a écrit 1; alors reporter la ligne du salarié; sinon ne rien faire.

Mais même si j'arrive à faire cela, imaginons que j'aie 150 salariés : le premier et le dernier sont au RSA (c'est impossible, mais c'est un exemple), alors, il y aura un blanc entre le 1er et le 150ème salarié (c'est à dire un trou de 149 lignes) ? Il faudrait que les lignes se suivent.

En fait, je ne sais pas encore si je veux créer un 2e tableau ou une nouvelle feuille dans le premier classeur. Que me conseillez-vous ?

Je sais faire des fonctions SI mais je ne sais pas faire les macros. Pouvez-vous m'aider svp ? Merci d'avance.

Mary

Publicité
ferrand
 Posté le 22/03/2015 à 20:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Est-ce qu'il faut renuméroter la colonne A ? En continu, s'il s'agit de numéros d'ordre ?

Ou bien supprimer la formule en A1 ? Qui se trouve invalidée.

Pour être plus explicite, il y a le choix entre beaucoup de solutions et je choisirais volontiers parmi les plus simple le schéma suivant :

- Copie feuille dans un nouveau classeur

- Renommage de la feuille : quel nom ?

- Boucle ascendante pour supprimer les lignes ne correspondant pas à un RSA

- Enregistrement du classeur : quel nom ?

Donc, la ligne 166 étant non RSA, elle est supprimée, d'où erreur #REF! de la formule. Si elle ne l'était pas, il y aurait aussi erreur puisque les numéros d'ordre ne sont plus consécutifs.

Si on garde la formule en A1, il faut la réécrire. Et il faut renuméroter. D'où ma question.

ferrand
 Posté le 22/03/2015 à 21:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

En l'absence d'indication plus précise, je suggère de remplacer dans ta formule en A1, A166 par A171. Et en A171, mettre la formule : =NB(A6:A170). Cela aura pour effet de rendre la formule en A1 résistante aux modifications. (Tu peux masquer l'affichage en A171 par couleur de police blanc).

La macro pour créer le nouveau classeur :

Sub DupliquerClasseur_RSA()
Dim i%, n%, c as Range
Worksheets("Général").Copy
With ActiveWorkbook.Worksheets(1)
.Name = "RSA"
n = .Range("C" & .Rows.Count).End(xlUp).Row
For i = n To 7 Step -1
If IsNumeric(.Cells(i, 1).Value) And .Cells(i, 3).Value = "" _
Then .Rows(i).Delete
Next i
i = 0
n = .Range("C" & .Rows.Count).End(xlUp).Row
For Each c In .Range("C7:C" & n).Cells
If c.Value = 1 Then
i = i + 1
c.Offset(0, -2).Value = i
End If
Next c
End With
ActiveWorkbook.SaveAs "Copie_RSA.xlsx"
End Sub

Remplacer les mentions en rouge par les noms souhaités. Le nouveau classeur sera enregistré dans le répertoire courant (qui devrait être celui du classeur initial s'il n'a pas été modifié depuis son ouverture) : Si on veut l'enregistrer ailleurs, il faut alors indiquer le chemin du dossier.

"chemin\nomclasseur"

ou ThisWorkbook.Path & "\nomclasseur" (pour le dossier du classeur initial si le répertoire courant peut être différent)

http://cjoint.com/?ECwvE5Yb5Mz

NB- J'ai opté pour la renumérotation, 2e partie de la macro (de i = 0 à Next c). Si on ne doit pas renuméroter, il suffit de supprimer cette partie du code. La formule continuera cependant à donner le bon résultat (car ne dépend plus du dernier numéro).



Modifié par ferrand le 22/03/2015 21:20
maryloo2005
 Posté le 22/03/2015 à 21:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Merci beaucoup Ferrand.

Je vais regarder tout cela et sûrement avoir besoin qu'on me guide pour installer cette macro car je n'y connais pas grand chose en macro. Désolée...

Bonsoir et encore grand merci.

Mary

ferrand
 Posté le 22/03/2015 à 22:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Une macro, ce n'est que du texte composé d'un agencement de mots-clé... La recette de Galopin est toujours utile :

https://forum.pcastuces.com/recette_de_cuisine__excel_vba-f23s5963.htm

ferrand
 Posté le 26/03/2015 à 11:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Si tout se poursuit bien, continue ! Si tu rencontres quelques difficultés, reviens, on te fera un pas à pas illustré pour aller au bout de la procédure...

maryloo2005
 Posté le 26/03/2015 à 11:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour,

Je me suis fait aider. Merci, tout va bien. C'est super sympa de ta part.

Bonne journée.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
21,16 €Switch Gigabit TP-Link 8 ports métal à 21,16 €
Valable jusqu'au 30 Septembre

Amazon propose actuellement  le switch Gigabit TP-Link TL-SG108 8 ports (10/100/1000) dans un boîtier métal à 21,16 €. On le trouve habituellement autour de 30 €. 


> Voir l'offre
389,99 €Robot aspirateur Neato Botvac connecté D650 édition Animaux domestiques à 389,99 €
Valable jusqu'au 28 Septembre

Amazon fait une vente flash sur le robot aspirateur Neato Botvac D650 édition Animaux domestiques qui passe à à 399,99 € livré gratuitement alors qu'on le trouve ailleurs à partie de 600 €. Cet aspirateur autonome intelligent possède une aspiration puissante et dispose d'un guidage laser pour voir son environnement et cartographier précisément les surfaces à nettoyer sans oublier les meubles, les objets et les portes. Fonctionne sur tous les types de sol. Vous pouvez contrôler le robot depuis votre téléphone via le WiFi. Utilisez l'application Neato pour démarrer, planifier le nettoyage, recevoir des notifications et vérifier les statistiques de nettoyage à tout moment. Vous pouvez même créer des zones virtuelles pour éviter certains endroits sensibles. Le robot est également compatible Alexa et Google Home et peut donc être dirigé à la voix. Cette édition spéciale Animaux domestiques est dotée d'une brosse combinée conçue spécialement pour ramasser plus de poils d'animaux sur tous les types de sols..


> Voir l'offre
14,90 €Windows 10 Pro 32/64 bits OEM à 14,90 €
Valable jusqu'au 02 Octobre

Le vendeur sérieux LicenSE-ONLine propose sur Amazon la clé d'activation pour Windows 10 professionnel en français 32 bits / 64 bits à 14,90 €. Cette clé livrée par email fonctionne avec l'outil d'installation et de création de support de Microsoft que vous pouvez télécharger ici ou directement avec l'ISO de Windows 10 Pro. De quoi installer légalement Windows 10 Pro sur un PC. Pour en savoir plus sur l'achat et l'installation d'une clé OEM de Windows 10, suivez les indications de notre dossier pratique.


> Voir l'offre

Sujets relatifs
(Macro Excel) Sélectionner cellule en fonction de sa couleur
Appeler une macro via une touche de fonction
Fonction et macro
Macro qui ouvrirais la fonction rechercher
Macro Excel 4
Macro...Protéger feuille
2 pages par feuille dans macro excel
Fonction RANG
Comment choisir la "fonction" de mes mails ?
erreur macro
Plus de sujets relatifs à Fonction Si ou Macro ?
 > Tous les forums > Forum Bureautique