cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013
-
24 juil. 2006 à 18:23
cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013
-
25 juil. 2006 à 14:06
Bonjour à tous.
Dans un classeur excel, j'ai 2 feuilles: la première dans laquelle je
met des données et la deuxième qui s'appuie sur la première pour
vérifier les données de de la première et qui réalise des traitements.
Si la première feuille fait 100 lignes, la deuxième aussi.
Mon pb est de pouvoir adapter la deuxième feuille à la première de
façon très simple, sans avoir à y aller à chaque fois que je rajoute ou
que j'enlève des lignes dans la première pour étendre la formule ou
supprimer des lignes.
Est ce qu'il y a un moyen de le faire de façon dynamique ou bien avec une petite macro??
cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013 24 juil. 2006 à 19:01
Je parle de deux feuilles excel.
Sur ma première feuille je rentre les données. Sur la deuxième, ca copie certaines données au même ligne mais il y a des colonnes supplémentaires (des différences par exemple).
Mais en gros, peu importe les traitements: si je voulais que mes deux feuilles soient identiques, (la première case de la deuxième feuille pointe sur la première case de la première feuille et ainsi de suite...), c est facile à faire en statique, mais dès qu on rajoute une ligne à la première feuille, la deuxième feuille ne suit plus. Il faut aller sur la deuxième feuille et tirer les formules.
tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 201033 25 juil. 2006 à 08:21
Ce que tu peux faire, c'est créer une nouvelle macro et t'enregistrer pendant que tu fais tes manipulations... Ensuite, si tu veux le réaliser dynamiquement, il te suffira d'utiliser des boucles...
(Si la réponse vous convient, appuyez sur réponse acceptée...).
cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013 25 juil. 2006 à 12:27
j ai déjà enregistrer la macro suivante: étendre les formules contenues dans la feuille 2 de la première ligne vers la ligne 64. Ca c est facile.
Mais moi ce que j'aimerais, c est que la macro étende la formule jusqu'au numéro de ligne de la dernière ligne non vide de la première feuille.
Je ne sais pas si je suis clair....
Vous n’avez pas trouvé la réponse que vous recherchez ?
tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 201033 25 juil. 2006 à 13:07
tu peux faire une boucle de ce style :
i = 1
While Not Range("A" & i & "").Value = ""
i = i + 1
Wend
qui va te ramener a la premiere ligne non vide.
(Si la réponse vous convient, appuyez sur réponse acceptée...).
cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013 25 juil. 2006 à 14:06
Merci à tous pour votre aide. J'ai pu au final coder en VBA ce que je voulais faire.
Je vous livre le code si jamais cela vous intéresse. Merci encore
Sub Etendre()
'
'
' traiter/vérifier les données, en appliquant les formules de calcul à autant de lignes que nécessaire
'
'nettoyage
Sheets("Data2").Select
num_ligne = Range("A1").End(xlDown).Row
If num_ligne > 2 Then
Range("A3:Z" & num_ligne).Delete 'supprime les cellules (et non seulement leur contenu)
End If
'traitement
Sheets("Data").Select
If Range("A2").Value <> "" Then 's'il y a au moins 1 ligne de données -> dupliquer les formules de calcul
num_ligne = Range("A1").End(xlDown).Row 'numéro de dernière ligne
Sheets("Data2").Select
If num_ligne > 2 Then
'on copie les formules de calcul s'il y a au moins 2 lignes de données
Range("A2:Z2").AutoFill Destination:=Range("A2:Z" & num_ligne), Type:=xlFillCopy
End If
MsgBox "Vos données ont été traitées avec succès."
Else
MsgBox "Il n'y a pas de données " & Chr(13) & "(cellule A2 vide)", vbExclamation, "Action impossible "
Range("A2").Select
End If