Bonjour Yvouille,
J'aimerais optimiser ma macro.
Je te fais parvenir mon fichier pour illustrer l'idée.
Résumé situation initiale :
- Le bouton "1 - Exporter le tableau de Feuil2 vers Feuil1" permet de transférer le tableau de la feuille 2 sous le tableau (plage A5:C9 feuille 1).
Les lignes de ce tableau sont variables. Tu m'avais déjà aidé pour faire une macro qui fonctionne parfaitement.
- Le bouton "2 - Actualisation des cellules B2 et B3" permet de rentrer des formules dans des cellules précises, avec des plages d'analyse qui sont variables. Là aussi, tu m'avais aidé à faire une macro qui fonctionne très bien.
J'ai modifié ta macro pour que des formules puissent s'inscrire dans les cellules B5 et C5 (cf. Code macro "Actualisation_B2_B3").
Serait-il trop difficile de tirer les formules pour les Cellules B5 et C5 jusqu'au bas du premier tableau (cf. plage A5:A9) automatiquement ? Sachant que ce tableau (cf. plage A5:A9) peut voir ses lignes varier. J'ai fait quelques essais, avec ce code-ci :
With Range("B5")
.FormulaR1C1 = "=SUMIFS(R" & i & "C[5]:R" & j & "C[5],R" & i & "C[-1]:R" & j & "C[-1],""Commandes prévues"",R" & i & "C5:R" & j & "C[3],RC[-1])"
.AutoFill Destination:=Range("B5:B" & Range("A65536").End(xlUp).Row)
End With
Le problème est que la formule s'applique sur toute la colonne B, et ne s'arrête pas à la dernière ligne du premier tableau rouge (cf. plage A5:A9).
J'ai cherché des moyens pour stopper l'opération si une cellule était vide en A6 (par exemple), sans succès...
J'espère avoir été assez explicite
Bigboo