Insertion auto de ligne en gardant la formule

Résolu/Fermé
estes - 11 mars 2010 à 13:15
 estes - 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..
A voir également:

11 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
11 mars 2010 à 23:32
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
1
merci ça marche super!
quelqu'un pour mes problèmes de stats?
1
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
15 mars 2010 à 15:40
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.
1
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
1

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

Posez votre question
up!
0
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.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
15 mars 2010 à 23:22
Bonjour,
Désolé que cela ne convienne pas.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
17 mars 2010 à 14:16
Bonjour,
Pouvez-vous préciser quelles données extrairent?
Quelle est le message d'erreur ?
0
sriviere Messages postés 853 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 2 mai 2013 410
17 mars 2010 à 14:25
Je ne cesse d'être admirative quant à votre patience et votre disponibilité.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427 > sriviere Messages postés 853 Date d'inscription jeudi 21 janvier 2010 Statut Membre Dernière intervention 2 mai 2013
17 mars 2010 à 18:25
Bonjour,
C'est très gentil, merci.
Au passage un petit bonjour ne fait de mal à personne ....
0
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.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
17 mars 2010 à 18:21
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
0
Bonjour à tous,
merci pour la procédure, elle marche très bien, je sais pas comment j'aurai pu faire sans vous!
0