Posez votre question Signaler

Insertion auto de ligne en gardant la formule [Résolu]

estes - Dernière réponse le 18 mars 2010 à 16:20
Bonjour,
Bonjour,
Je me permets de faire appel à votre aide, pour un petit travail sur escel.
J'ai un tableau que je remplis, avec principalement les données suivantes: pays date de début date de fin, délais.
Plusieurs problèmes se posent à moi:
-quand j'insère une ligne grâce à une macro, je voudrais que la nouvelle ligne contienne toujours la fonction qui y étais auparavant. il s'agit d'une fonction un peu complexe
-je voudrais que ma liste des pays soit extraite vers une nouvelle feuille en ne conservant que les valeurs uniques. je voudrais également que soit comptabilisé le nombre de fois ou une même valeur revient.
-enfin, et c'est ce qui me pose le plus de problème je voudrais une fonction qui agisse de la façon suivante:
pour la valeur egypte, chercher toutes les valeurs egypte dans telle colonne et à chaque fois qu'elle est trouvée, prendre en compte la valeur "délais", et ce afin de trouver un délai moyen
Dans la mesure du possible je ne veux pas de filtre et préférerai des macros.
Voici mon programme
http://cjoint.com/data/ditKqBKBPn.htm
merci par avance de toute aide, je suis désolé de poser des questions qui doivent sans doute apparaitre evidente à la plupart d'entre vous..
Lire la suite 
Réponse
+1
moins plus
Bonjour,
Juste au passage pour insérer la nouvelle ligne, essayer cette procédure :
Sub InsererLigneEtFonction()
    Rows("10:10").Copy
    Rows("8:8").PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Rows("8:9").Insert Shift:=xlDown
    Application.CutCopyMode = False
    Range("B10:L10").ClearContents
    Range("A1").Select
End Sub
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+1
moins plus
merci ça marche super!
quelqu'un pour mes problèmes de stats?
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+1
moins plus
Bonjour,
Concernant ceci :
pour la valeur egypte, chercher toutes les valeurs egypte dans telle colonne et à chaque fois qu'elle est trouvée, prendre en compte la valeur "délais", et ce afin de trouver un délai moyen
La fonction SI() devrait faire l’affaire comme suit :
Dans cellule [Q10] : =SI(F10="EGYPTE";K10-C10;"")
et tirer vers le bas selon le nombre des lignes.
Ajouter un commentaire
Réponse
+1
moins plus
voici l ligne de code qu j'ai faite pour extraire mes données d'une feuille vers l'utre sans doublon.
Ca ne fonctionne pas...
A l'aide!

Sub Test()
Application.ScreenUpdating = False
With Sheets("Sheet2")
.Cells.ClearContents
.Range("A1") = "All"
For Each X In Sheets("Sheet1").Range("F10:" & Sheets("Sheet1").Range("IV2").End(xlToLeft).Address)
Sheets("Sheet1").Range(X, Sheets("Sheet1").Cells(65536, X.Column).End(xlUp)).Copy
Sheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Next
.Select
.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("B1"), Unique:=True
.Columns(1).Delete
.Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub
Ajouter un commentaire
Réponse
+0
moins plus
Ajouter un commentaire
Réponse
+0
moins plus
J'avais pensé à la fonction SI mais je voudrais plutot passer par une macro, qui me ferais le calcul pour l'ensemble des valeurs et non pas une fonction qui ferait du case par case.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Désolé que cela ne convienne pas.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Pouvez-vous préciser quelles données extrairent?
Quelle est le message d'erreur ?
sriviere 856Messages postés jeudi 21 janvier 2010Date d'inscription 2 mai 2013Dernière intervention - 17 mars 2010 à 14:25
Je ne cesse d'être admirative quant à votre patience et votre disponibilité.
Répondre
Le Pingou 8501Messages postés mercredi 11 août 2004Date d'inscription ContributeurStatut 29 mai 2015Dernière intervention - 17 mars 2010 à 18:25
Bonjour,
C'est très gentil, merci.
Au passage un petit bonjour ne fait de mal à personne ....
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
les données à extraire sont une liste de pays, qui commencent en F10.
je veux les extraires vers une autre page sans doublon.
le message d'erreur parle d'automation.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Essayer cette procédure (à insérer dans le module):
Sub ExtraitSansDoublonTrier()
Dim NL As Long
    Sheets("Sheet2").Activate
    Cells.ClearContents
    NL = Sheets("Sheet1").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
    Sheets("Sheet1").Range("F5:F" & NL).AdvancedFilter Action:=xlFilterCopy, _
        CopyToRange:=Range("A1"), Unique:=True
    Columns("A:A").Sort Key1:=Columns(1), Order1:=xlAscending, Header:=xlYes
    Range("aa1").Select
End Sub--


Salutations.
Jean-Pierre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous,
merci pour la procédure, elle marche très bien, je sais pas comment j'aurai pu faire sans vous!
Ajouter un commentaire
Ce document intitulé «  Insertion auto de ligne en gardant la formule  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.