Créer Macro Autofill sur plage variable

Fermé
Fab1603 Messages postés 3 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 16 avril 2013 - 12 avril 2013 à 09:35
Fab1603 Messages postés 3 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 16 avril 2013 - 16 avril 2013 à 15:14
Bonjour à tous,

Je sollicite votre aide car je bloque un peu.
Dans une feuille Excel nommée "Extraction", j'importe un fichier en colonne A : B, avec un nb lignes variables. Derrière ces colonnes, j'ai mis des formules sur les colonne C : D pour retravailler les données en A : B.
Ce que je voudrais, c'est que lorsque j'importe à nouveau des données en A : B (qui viennent se coller à la suite des précédentes données importées), j'ai une recopie sur les colonnes C: D des formules de la ligne précédente.
Je n'y arrive qu'avec la fonction Range, qui ne me convient pas car le fichier importé à un nombre de ligne variable.
J'espère avoir été assez clair.
Merci d'avance pour vos réponses !!!


A voir également:

4 réponses

Snoopy6102000 Messages postés 66 Date d'inscription vendredi 11 février 2011 Statut Membre Dernière intervention 18 décembre 2013 2
12 avril 2013 à 11:25
Si je comprends bien, les données A et B sont traitées par des formules classiques Excel en C et D. avant de recourir à la macro. Personnellement je testerai ceci :
- Dans les formules C et D je rajouterai =Si(A1="";"";formule decalcul), idem pour B
Ainsi, les formules ne se calculeront que si les données en A sont complétées. Ensuite, Tirer la formule vers le bas (le plus loin possible du coup!). Si A est complété, la formule s'applique, sinon il 'y aura rien. Ainsi lorsque les données seront ajoutées, la formule s'appliquera sur les lignes où A est complété.
Après, ça dépend peut être de l'exploitation de ces données pour envisager l'utiliser d'une macro.

Donc en résumé, pour moi il faut compléter les formules excel présente en colonne C et D.
Colonne C
Si (A1="";""; formuledecalcul)
Colonne D (basée sur A ou B au choix)
Si (A1="";""; formuledecalcul)

Copier les formules vers les bas, ce qui fera que pour la ligne 24 par exemple on aura
si(A24="";"";formuledecalcul)

Voilà une petite proposition, à vois si cela suffit, on envisagera autrement si vous penser qu'il vous faut réellement passer par une macro.
0
Fab1603 Messages postés 3 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 16 avril 2013
Modifié par Fab1603 le 12/04/2013 à 12:38
Bonjour Snoopy,

C'est exactement le type de formule que j'ai dans mes colonnes C et D. (Dommage que je ne puisse mettre de PJ pour être plus clair...).
Je pense que je me suis mal exprimé.
On va dire que j'importe un fichier en A2:B12.
Je mets des formules en C1:D1.
Je voudrais donc une macro que je fe rais tourner une fois le fichier importé, et qui me reprendrais les données C1:D1 sur la plage C2:D12.
Idem, je ré-importe un fichier à la suite, soit en A13:B100 (car pas de Nb ligne en fixe dans mon fichier extraction), je voudrais que la macro recopie les données en C12:D12 pour la mettre sur la plage C13:D100.
Comme je disais auparavant, pas de soucis à faire avec la fonction "Range", mais celle-ci ne fonctionne qu'avec un Nb ligne fixe. Or j'ai un Nb ligne variable, et là je bloque.
Merci !!!
0
Snoopy6102000 Messages postés 66 Date d'inscription vendredi 11 février 2011 Statut Membre Dernière intervention 18 décembre 2013 2
12 avril 2013 à 14:42
Pour la pièce jointe, utiliser cjoint.com ça permettra d'y voir plus clair !
0
Fab1603 Messages postés 3 Date d'inscription vendredi 12 avril 2013 Statut Membre Dernière intervention 16 avril 2013
16 avril 2013 à 15:14
Bonjour,

Je suis en entreprise, et pas accès à Cjoint, bloqué...
Donc je vais tenter comme ca
Colonne A B C D
Ligne 1 Date (A) Heure (B) Jour (C) Minutes (D)
Ligne 2 Date (A) Heure (B) Jour (C) Minutes (D)
Ligne 3
Ligne 4

Sur la plage A1:B2, j'importe des données. Sur la plage C1: D1, j'ai des formules que je fais glisser sur C2:D2 : Dans l'exemple, j'importe des données au format Date (A) et Heure (B), et je les retravaille au format Jour (C qui est donc = A) et minutes (D qui est donc = B).
J'importe un nouveau fichier sur A3:B4, ce que je voudrais, c'est avoir une macro qui fasse automatiquement la copie des formules en C2:D2 sur la plage C3:D4.
A noter que le Nb ligne après chaque import est variable.

Merci !
0