Menu

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

estes - 11 mars 2010 à 13:15 - Dernière réponse :  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..
Afficher la suite 

13 réponses

Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 11 mars 2010 à 23:32
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
+1
Utile
merci ça marche super!
quelqu'un pour mes problèmes de stats?
Cette réponse vous a-t-elle aidé ?  
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 15 mars 2010 à 15:40
+1
Utile
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.
Cette réponse vous a-t-elle aidé ?  
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
0
Utile
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.
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 15 mars 2010 à 23:22
0
Utile
Bonjour,
Désolé que cela ne convienne pas.
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 17 mars 2010 à 14:16
0
Utile
2
Bonjour,
Pouvez-vous préciser quelles données extrairent?
Quelle est le message d'erreur ?
sriviere 856 Messages postés jeudi 21 janvier 2010Date d'inscription 2 mai 2013 Dernière intervention - 17 mars 2010 à 14:25
Je ne cesse d'être admirative quant à votre patience et votre disponibilité.
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention > sriviere 856 Messages postés jeudi 21 janvier 2010Date d'inscription 2 mai 2013 Dernière intervention - 17 mars 2010 à 18:25
Bonjour,
C'est très gentil, merci.
Au passage un petit bonjour ne fait de mal à personne ....
0
Utile
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.
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 17 mars 2010 à 18:21
0
Utile
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
Utile
Bonjour à tous,
merci pour la procédure, elle marche très bien, je sais pas comment j'aurai pu faire sans vous!