Recherche et addition de plusieurs valeurs dans différent onglet
Résolu
chou999
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour à Tous,
Je ne suis pas expert de Excel alors je demande votre aide pour mon problème.
Je voudrais rechercher des valeurs sur 4 ou 5 Feuilles (dept 1, dept 2, dept 3 .. dept5) du même classeur. chaque tableau de ces feuilles a le même format colonne A "Code Projet" ,colonne B "engagé", colonne C "Reste à engager" , chaque feuille correspond à un département différent.
je voudrais afficher dans un onglet "Conso", un tableau colonne A "codes fonds", ou je récupère les codes fond de tout les départements "dept1 jusqu’à dept5", je supprime les doublons et je les copier cette colonne "codes fonds".
Puis sur la colonne B "total engagés de ma feuille "conso", je voudrais afficher la somme des engagés de chaque code fond (colonne B des feuilles "dept1 jusqu’à dept5"), et pareil pour le Reste à engager.
Merci infiniment pour votre aide, cela va beaucoup m'aider à avancer sur mon projet.
Cordialement,
Je ne suis pas expert de Excel alors je demande votre aide pour mon problème.
Je voudrais rechercher des valeurs sur 4 ou 5 Feuilles (dept 1, dept 2, dept 3 .. dept5) du même classeur. chaque tableau de ces feuilles a le même format colonne A "Code Projet" ,colonne B "engagé", colonne C "Reste à engager" , chaque feuille correspond à un département différent.
je voudrais afficher dans un onglet "Conso", un tableau colonne A "codes fonds", ou je récupère les codes fond de tout les départements "dept1 jusqu’à dept5", je supprime les doublons et je les copier cette colonne "codes fonds".
Puis sur la colonne B "total engagés de ma feuille "conso", je voudrais afficher la somme des engagés de chaque code fond (colonne B des feuilles "dept1 jusqu’à dept5"), et pareil pour le Reste à engager.
Merci infiniment pour votre aide, cela va beaucoup m'aider à avancer sur mon projet.
Cordialement,
A voir également:
- Recherche et addition de plusieurs valeurs dans différent onglet
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Addition excel - Guide
- Raccourci rouvrir onglet fermé - Guide
- Différence entre tcp et udp - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
10 réponses
Re,
Postes une exemple de ton fichier sur cjoint.com comme demandé si tu veux avoir de l'aide car on a besoin de connaitre la structure de ton fichier
Cdlmnt
Via
Postes une exemple de ton fichier sur cjoint.com comme demandé si tu veux avoir de l'aide car on a besoin de connaitre la structure de ton fichier
Cdlmnt
Via
Bonjour chou999
Pas besoin d'un bouton pou actualiser, une fonction personnalisée suffit :
https://mon-partage.fr/f/dWXpZhL9/
Cdlmnt
Via
Pas besoin d'un bouton pou actualiser, une fonction personnalisée suffit :
https://mon-partage.fr/f/dWXpZhL9/
Cdlmnt
Via
RE-Bonjour VIA,
Vous êtes maaagnifique :)))
Grand Merci, ça marche nickel.
J'ai repris la même fonction je l'ai appliquer sur les colonnes réalisé et RAE, et ça a marché.
https://www.cjoint.com/c/GJzmf61tQwd
Il me reste un seul truc, sur l'onglet "Conso", je voudrais récupéré les codes fond triés et sans doublons automatiquement, après la mise à jour des fiches département, pourrais-tu m'aider la dessus, je suis partie dans des blocs de codes de tri et de copie (voir ci dessous), mais n'a pas l'aire d'être bon:
Je vous remercie infiniment,
Chaimaa
Vous êtes maaagnifique :)))
Grand Merci, ça marche nickel.
J'ai repris la même fonction je l'ai appliquer sur les colonnes réalisé et RAE, et ça a marché.
https://www.cjoint.com/c/GJzmf61tQwd
Il me reste un seul truc, sur l'onglet "Conso", je voudrais récupéré les codes fond triés et sans doublons automatiquement, après la mise à jour des fiches département, pourrais-tu m'aider la dessus, je suis partie dans des blocs de codes de tri et de copie (voir ci dessous), mais n'a pas l'aire d'être bon:
Sheets("DIR1").Select
Range("A7:A200").Select
Selection.Copy
Sheets("CONSO").Select
Range("A2").Select
Sheets("DIR1").Select
Range("A224:A242").Select
Range("A242").Activate
Range("A30:A229").Select
Selection.Copy
Sheets("CONSO").Select
Range("A1").Select
ActiveSheet.Paste
Range("A2:A171").Select
Application.CutCopyMode = False
Je vous remercie infiniment,
Chaimaa
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re
Macro à mettre dans un module de l'éditeur VBA (peut être à la suite des autres) puis à lancer depuis la page CONSO depuis l'onglet Developpeur - Macros :
Cdlmnt
Via
Macro à mettre dans un module de l'éditeur VBA (peut être à la suite des autres) puis à lancer depuis la page CONSO depuis l'onglet Developpeur - Macros :
Sub codes() x = 1 ' boucle sur feuilles For f = 2 To 6 Dim ligneF As Long 'dernière ligne remplie ligneF = Sheets(f).Columns(1).Find("*", , , xlWhole, xlByColumns, xlPrevious).Row For n = 2 To ligneF ' si commence par P If Left(Sheets(f).Range("A" & n), 1) = "P" Then 'incrémentation de x et copie en ligne x de CONSO x = x + 1 Sheets("CONSO").Range("A" & x) = Sheets(f).Range("A" & n) End If Next Next ' suppression des doublons Range("A1:A" & x).Select ActiveSheet.Range("$A$1:$A$21").RemoveDuplicates Columns:=1, Header:=xlYes ' tri alpha Range("A1:A" & x).Select ActiveWorkbook.Worksheets("CONSO").Sort.SortFields.Clear ActiveWorkbook.Worksheets("CONSO").Sort.SortFields.Add Key:=Range("A2:A" & x), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("CONSO").Sort .SetRange Range("A1:A" & x) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Cdlmnt
Via
Bonjour Via,
Je reviens vers toi, concernant, le même sujet :)
J'ai commencé à travailler sur mon fichier, "le vrai", les fonctions ils ont marché nickel sans aucun pb (je t'en remercie) par contre la macro, j'ai fais toutes les modifications pour l'adapter à mon fichier, mais ça ne marche pas !
j'ai eu un message d'erreur "variable objet ou variable de bloc with non définie", puis après j'ai fais des modifications partout et bim ! bug total :p
l'idée reste toujours la même chercher les codes, commençant par P, puis les trier, supprimer les doublons puis les stocker dans le tableau conso, comme ça à l'aide des fonctions, je pourrais actualiser les budgets.
https://www.cjoint.com/c/GJAqkHhxDKd
En Pj, le fichier si tu pourrais m'aider la-dessus aussi :)
grand merci à l'avance,
Cordialement,
Chaimaa
Je reviens vers toi, concernant, le même sujet :)
J'ai commencé à travailler sur mon fichier, "le vrai", les fonctions ils ont marché nickel sans aucun pb (je t'en remercie) par contre la macro, j'ai fais toutes les modifications pour l'adapter à mon fichier, mais ça ne marche pas !
j'ai eu un message d'erreur "variable objet ou variable de bloc with non définie", puis après j'ai fais des modifications partout et bim ! bug total :p
l'idée reste toujours la même chercher les codes, commençant par P, puis les trier, supprimer les doublons puis les stocker dans le tableau conso, comme ça à l'aide des fonctions, je pourrais actualiser les budgets.
https://www.cjoint.com/c/GJAqkHhxDKd
En Pj, le fichier si tu pourrais m'aider la-dessus aussi :)
grand merci à l'avance,
Cordialement,
Chaimaa
Bonjour chou
Ton fichier avec la macro rectifiée
https://mon-partage.fr/f/pHOJUfkA/
Par contre j'ai perdu les liaisons qui devaient y avoir avec une autre feuille
Cdlmnt
Via
Ton fichier avec la macro rectifiée
https://mon-partage.fr/f/pHOJUfkA/
Par contre j'ai perdu les liaisons qui devaient y avoir avec une autre feuille
Cdlmnt
Via
Bon alors je t'envoie le code de la macro à mettre dans un module de l'éditeur VBA
Tu n'as plus après qu'à assigner cette macro au bouton que tu as mis dans la feuille
Sub codes() x = 7 ' boucle sur feuilles For f = 2 To 5 Dim ligneF As Long 'dernière ligne remplie ligneF = Sheets(f).Columns(1).Find("*", , , xlWhole, xlByColumns, xlPrevious).Row For n = 2 To ligneF ' si commence par P If Left(Sheets(f).Range("A" & n), 1) = "P" Then 'incrémentation de x et copie en ligne x de CONSO x = x + 1 Sheets(1).Range("B" & x) = Sheets(f).Range("A" & n) End If Next Next ' suppression des doublons et remise en forme Range("B8:B39").Select ActiveSheet.Range("$B$8:$B$39").RemoveDuplicates Columns:=1, Header:=xlNo Range("B8:B22").Select With Selection.Interior .PatternColorIndex = xlAutomatic .Color = 10498160 .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With Range("B23:B39").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark2 .TintAndShade = -9.99786370433668E-02 .PatternTintAndShade = 0 End With End Sub
Tu n'as plus après qu'à assigner cette macro au bouton que tu as mis dans la feuille
Bonjour VIA,
Merci pour le code, ça marche très bien sur, ça actualise les codes nickel!
Par contre, les chiffres du tableau, il ne se mettent pas à jour, j'ai réussi à faire cela sur mon fichier test, en lançant la macro, les fonctions mettent à jour mes champs engagé, .. atterissage, et je ne vois pas du tout pk ça ne marche pas sur mon fichier.
Merci pour ton aide,
Chou
Merci pour le code, ça marche très bien sur, ça actualise les codes nickel!
Par contre, les chiffres du tableau, il ne se mettent pas à jour, j'ai réussi à faire cela sur mon fichier test, en lançant la macro, les fonctions mettent à jour mes champs engagé, .. atterissage, et je ne vois pas du tout pk ça ne marche pas sur mon fichier.
Merci pour ton aide,
Chou
Via,
Ci joint le fichier, en fait, quand je fais un tri simple de A à Z, sur la liste des codes sur ma feuille "Conso direction", les fonctions affichent les totaux.
https://www.cjoint.com/c/GJBizQPjSud
et Si j'appui sur le bouton actualiser les codes projets, j'ai des zéros partout :p
J'ai cassé ma tête pour trouver lié les fonctions avec la macro affecté au bouton ! je n'ai pas trouvé.
Merci énormément pour tes efforts !
Bonne journée,
CHOU
Ci joint le fichier, en fait, quand je fais un tri simple de A à Z, sur la liste des codes sur ma feuille "Conso direction", les fonctions affichent les totaux.
https://www.cjoint.com/c/GJBizQPjSud
et Si j'appui sur le bouton actualiser les codes projets, j'ai des zéros partout :p
J'ai cassé ma tête pour trouver lié les fonctions avec la macro affecté au bouton ! je n'ai pas trouvé.
Merci énormément pour tes efforts !
Bonne journée,
CHOU
Bonjour chou
Effectivement le reporting annule les résultats des fonctions personnalisées, je ne sais pas pourquoi !!
Pour les réactiver ajoutes ces lignes en fin de la macro codes entre le dernier End with et le End sub :
De plus tu peux supprimer le module 2 qui ne contient que des enregistrements de macros pour essai et ne sert à rien
Bonne journée
Via
Effectivement le reporting annule les résultats des fonctions personnalisées, je ne sais pas pourquoi !!
Pour les réactiver ajoutes ces lignes en fin de la macro codes entre le dernier End with et le End sub :
For n = 8 To 22 Range("C" & n).FormulaR1C1 = "=Budget(RC[-1])" Range("D" & n).FormulaR1C1 = "=Engagé(RC[-2])" Range("E" & n).FormulaR1C1 = "=receptionné(RC[-3])" Range("F" & n).FormulaR1C1 = "=mforte(RC[-4])" Range("G" & n).FormulaR1C1 = "=mfaible(RC[-5])" Range("H" & n).FormulaR1C1 = "=atterissage(RC[-6])" Next
De plus tu peux supprimer le module 2 qui ne contient que des enregistrements de macros pour essai et ne sert à rien
Bonne journée
Via