Insertion auto de ligne en gardant la formule

Résolu/Fermé
Signaler
-
 estes -
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..

11 réponses

Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

merci ça marche super!
quelqu'un pour mes problèmes de stats?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

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.
Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240
Bonjour,
Désolé que cela ne convienne pas.
Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240
Bonjour,
Pouvez-vous préciser quelles données extrairent?
Quelle est le message d'erreur ?
Messages postés
853
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
2 mai 2013
425
Je ne cesse d'être admirative quant à votre patience et votre disponibilité.
Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240 >
Messages postés
853
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
2 mai 2013

Bonjour,
C'est très gentil, merci.
Au passage un petit bonjour ne fait de mal à personne ....
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.
Messages postés
10625
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
5 décembre 2021
1 240
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
Bonjour à tous,
merci pour la procédure, elle marche très bien, je sais pas comment j'aurai pu faire sans vous!