Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 macro à appliquer à la ligne suivante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tomakayama

XLDnaute Nouveau
Bonjour à tous;

je dois faire une recherche =GRANDE.VALEUR( dans un tableau croisé dynamique

je dois cliquer sur la case du tableau croisé dynamique pour effectuer la recherche dans le tableau qui est donc créé

ensuite je reporte le resultat trouvé dans la case correspondante

j'aimerais appliquer cette macro à la ligne suivante ..
Avez vous une idée du code à entrer ?

J'aimerais appliquer ma macro à la ligne suivante

Sub Macroinfiniti()
'
' Macroinfiniti Macro
'
'
Range("B48").Select
Selection.ShowDetail = True
Range("J11").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Select
Selection.Copy
Sheets("calcul mini et maxi").Select
Range("E48").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("B49").Select
Selection.ShowDetail = True
Range("J11").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Select
Selection.Copy
Sheets("calcul mini et maxi").Select
Range("E49").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("B50").Select
Selection.ShowDetail = True
Range("J11").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Select
Selection.Copy
Sheets("calcul mini et maxi").Select
Range("E50").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

et puis ainsi de suite
Merci beaucoup
 

Pièces jointes

  • 1560848953564.png
    23.6 KB · Affichages: 4
La macro fonctionne mais que pour une ligne;
j'aimerais tellement que la macro puisse faire la même opération pour la ligne de dessous.. et j'ai du mal à appliquer les réponses déjà existant à mon "problème".
 
pour apporter un peu plus de precision:

je dois récupérer le nombre le plus élevé (=grandevaleur) dans un tableau qui concerne qu'une partie du tableau croisé dynamique;

Jai une multitude de références (plus de 6000) et dans mon croisé dynamique toutes les données sont classées; je prends le total dans le croisées dynamique d'une référence qui est donc classée; quand je clique sur ce total cela m'ouvre une nouvelle fenêtre; et a ce moment j'utilise la fonction grande valeur; pour terminer je récupére cette valeur et je l'indique dans le tableau où se trouve le croisée dynamique; par la suite a cette valeur je lui impute un calcul.

je sais faire le macro(mon tout premier) pour une ref mais pas pour toutes les autres 🙁

en espérant que cela puisse aiguiller. je continu a observer les autres Topics ressembler à ma demande mais javou que cela reste assez abstraite

bonne journée 🙂
 
Sub Macroinfiniti()
'
' Macroinfiniti Macro
'
'

Range("B4").Select
Selection.ShowDetail = True
Range("J11").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Select
Selection.Copy
Sheets("mini").Select
Range("E4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

j'aimerais que ce code puisse passer à la ligne du dessous et faire la même suite d'opération
 
Bonjour tomakyama,

Je ne suis pas certain d'avoir compris l'entièreté de ta demande mais le code suivant ne devrait-il pas fonctionner ?

VB:
For i = [DebutDeTaPlage] To [FinDeTaPlage]
Range("B" & i).Select
Selection.ShowDetail = True
Range("J11").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Select
Selection.Copy
Sheets("calcul mini et maxi").Select
Range("E" & i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next

Avec une légère modification et de l'optimisation (Les Select prennent beaucoup plus de temps et ne servent à rien), on obtient :

VB:
For i = [DebutDeTaPlage] To [FinDeTaPlage]
Set ws_calcul = Sheets("calcul mini et maxi")
Range("B" & i).ShowDetail = True
Range("J11").FormulaR1C1 = "=LARGE(C[-1],1)"
Range("J11").Copy
ws_calcul.Range("E" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False
Next

De plus, si les Range ne contiennent qu'une cellule, pourquoi ne pas utiliser Cells ?

VB:
For i = [DebutDeTaPlage] To [FinDeTaPlage]
Set ws_calcul = Sheets("calcul mini et maxi")
Cells(i,2).ShowDetail = True 'Pas certain de l'intérêt de cette ligne
Cells(11,10).FormulaR1C1 = "=LARGE(C[-1],1)"
val = Cells(11,10).Value
ws_calcul.Cells(i,5) = val
Next
 
Dernière édition:
Mr Ikito, vous m'avez aidé à acquérir et comprendre le vocabulaire nécessaire pour ce type d'opération.
je vous remercie beaucoup.
j'ai utilisé la première formule qui a fait planter mon PC suite au processeur qui est trop faible mais cela marche quand même et j'ai pu avoir mes réponses.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
558
Réponses
18
Affichages
328
Réponses
2
Affichages
289
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…