Rentrer formule selon lignes variables

Salut,

As-tu consulté le déroulement de la macro en mode pas-à-pas ?

Dans la première de 3 lignes ci-dessous, j'ai fait commencé la boucle à 1 car tu m'avais montré un exemple où la première donnée à traiter se trouvait sur la ligne 1. S'il y a une ligne de titre à ne pas traiter et que tu veux faire démarrer la boucle For/Next à la ligne 2, remplace simplement 1 par 2 : For i = 2 To ...........

For i = 1 To Range("G" & Rows.Count).End(xlUp).Row
    Range("G" & i) = Application.WorksheetFunction.RoundDown(Range("G" & i), 2)
Next i

Amicalement.

Bonjour Yvouille !

Je me suis débrouillé autrement. Mais du coup je vais utiliser ton ajustement qui est moins bricolo que le mien. En tout cas, mille merci ! Je ne sais pas comment te remercier ! Une boîte de.chocolat p-e, ?

Mille mercis c'est déjà beaucoup

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

Salut,

En retour, ta macro épurée et complétée.

Amicalement.

Bonsoir Yvouille !

Merci beaucoup pour ton optimisation. Cet exemple m'ouvre d'autres portes. Ta macro est au top.

Merci pour ton aide !!!!

Bon weekend

Bigboo

Rechercher des sujets similaires à "rentrer formule lignes variables"