cestlecoeur
Messages postés11Date d'inscriptiondimanche 6 janvier 2008StatutMembreDernière intervention 8 décembre 2008
-
28 nov. 2008 à 21:07
cestlecoeur
Messages postés11Date d'inscriptiondimanche 6 janvier 2008StatutMembreDerniè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.
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDerniè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
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDerniè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.
cestlecoeur
Messages postés11Date d'inscriptiondimanche 6 janvier 2008StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cestlecoeur
Messages postés11Date d'inscriptiondimanche 6 janvier 2008StatutMembreDerniè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 !!