VBA Débutant

Résolu
cestlecoeur Messages postés 11 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 8 décembre 2008 - 28 nov. 2008 à 21:07
cestlecoeur Messages postés 11 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 8 décembre 2008 - 8 déc. 2008 à 22:36
Bonjour
J'ai un fichier contenant  beaucoup de valeurs calculées. Plusieurs colonnes se rapportant chacune à une colonne.
(B avec G, C avec H, etc ... F avec K)

Le soucis c'est que cela fait un fichier tres tres lourd car je masque uniquement les formules à l'aide de "mis en forme automatique" mais elles sont toujours "présentes"

si la cellule A3 est remplie (cellule fixant l'heure), calcul à faire sur les cellues G à K3, puis pour la cellule A4 ....
Le nombre de lignes peut varier entre 100 à 10000.

Est il possible de "créer" la formule selon si oui ou non la cellule A3, etc .... est remplie par exemple.
Merci pour votre aide.

Code VBA ... mais je ne sais (toujours) pas où poster cette demande sur le bon thème. Désolé si je froisse certaines personnes.

5 réponses

userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
1 déc. 2008 à 21:59
Hello,

Je dois dire que je ne saisi pas tout dans ce code, mais je crois que ça plante au niveau du autofill destination.
Moi j'ai rencontré plusieurs fois le souciset la pluspart du temps le plus rapide a été de l'esquiver
Si j'ai bien compris tu concerves tes formule sur la ligne 3 et il faut les incrémenter jusque la dernière ligne de donnée.
Voici la manière dont je proéderais:
On modifie un peu a (= nombre de lignes moins 1)
a = Range("A3").End(xlDown).Row-2
Puis, juste après Range("G3:K3").Select
Selection.Copy
Range("G4").Select
Range(Selection, Selection.Offset(a, 0)).Select
    Selection.PasteSpecial Paste: =xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

Je pense qu'avec ça, ça ira.

BR

USERRRQI115
Simple user
Great brain
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 nov. 2008 à 00:26
(déplacé vers la bonne section. t'auras plus qu'à trouver un titre explicite la prochaine fois )
0
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
29 nov. 2008 à 10:19
Hello,

Pour ma part je crois que le plus simple est de créer une macro qui générerait tes formule à condition que ta cellule A soit non vide.

Pour la boucle on peut partir sur:
Do While not ActiveCell.value=""
créer les formules dans les cellules concernées de la lignes (G à K).
Passer à la ligne suivante (de la colonne A)
Loop

Pou résoudre le problème de taille du fichier j'ai l'habitude de ne pas garder les formule en faisant un copier collage spécial valeur. C'est une manip que tu peux inclure à la fin.

Pour trouver les codes te permettant de créer les formules et de faire ce copier coller je te conseille de passer par l'enregistreur de macro.

Si souci n'hésites pas.

BR
 
USERRRQI115
Simple user
Great brain
0
cestlecoeur Messages postés 11 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 8 décembre 2008
30 nov. 2008 à 22:30
Salut USERRRQI115
Merci pour ces quelques infos ... le soucis c'est que je ne peux pas faire de copier coller, c'est un document qualité ... Bref alors j'ai ce bout de code

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Union(Range("A3:A10000"), Target).Address = Range("A3:A10000").Address Then
Application.ScreenUpdating = False





If Range("A4") = "" Then
    Range("G4:K10000").ClearContents
    Range("A3").Select
    Exit Sub
End If
a = Range("A3").End(xlDown).Row
    If Union(Range("A3:A10000"), ActiveCell).Address = Range("A3:A10000").Address Then
             Range("G3:K3").Select
         Selection.AutoFill Destination:=Range(Cells(3, 10), Cells(a, 23))
    End If
    Range("A3").Select
        Application.ScreenUpdating = True







    End If
End Sub





Le soucis c'est que apparemment ça ne fonctionne pas ...







 




Merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cestlecoeur Messages postés 11 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 8 décembre 2008
8 déc. 2008 à 22:36
Bonjour
Il me reste à savoir pour la macro tourne et tourne avec une seule ligne.
Merci à toi, ô supporter ... que ta saison soit belle ... mais que tu sois derrière mes préférés !!


Merci encore


@+ 
0
Rejoignez-nous