A L'AIDE !! Créer une incrémentation spéciale

Résolu
Le_nouveau -  
Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche a faire un incrémentation automatique assez spéciale :

j'ai un tableau 4 colonnes et 7 lignes. de types :

--------------------------------------------------
|nom | VIDE | DE1 | VIDE |
--------------------------------------------------
|commentaire| VIDE| DE2 | VIDE |
--------------------------------------------------
|cle | DE3 | nom2| DE4 |
--------------------------------------------------
|domaine | VIDE | Ref1 | VIDE |
--------------------------------------------------
|type | DE5 | Ref2 | VIDE |
--------------------------------------------------
|longueur | DE6 | Ref3 | VIDE |
--------------------------------------------------
|autorise | DE7 | Ref4 | VIDE |
--------------------------------------------------

DE1 = 'Feuille1'!$B$3
DE2 = 'Feuille1'!$G$3
DE3 = SI(OU('Feuille1'!$F$3=G4;'Feuille1'!$F$3=G5;'Feuille1'!$F$3=G6;'Feuille1'!$F$3=G7);"NON";"OUI")
DE4 = DE1
DE5 ='Feuille1'!$C$3
DE6 ='Feuille1'!$E$3
DE7 =SI(DE3="OUI";"NON";"OUI")

Dans les Cellules G4 à G9 j'ai du mette les valeurs suivantes : P,P1,P2,P2,P4

J'ai 23 feuilles qui ont chacunes entre 50 et 200 lignes.

Je voudrait donc recopier ce tableau de tel sorte qu'il se reproduise et qu'il se remplisse tout seul.

Je n'ai pas besoin d'une formule le faisant pour chaque feuilles. Je peux le changer à la main. Mais recopier Chaque ligne de chaque feuille, ce n'est vraiment pas possible !!!. Merci :D

Merci d'avance pour votre aide.
Configuration: Windows XP
Firefox 2.0.0.11

7 réponses

  1. Le_nouveau
     
    J'ai oublié cela :D

    Résultat attendu :

    --------------------------------------------------
    |nom | VIDE | DE1 | VIDE |
    --------------------------------------------------
    |commentaire| VIDE| DE2 | VIDE |
    --------------------------------------------------
    |cle | DE3 | nom2| DE4 |
    --------------------------------------------------
    |domaine | VIDE | Ref1 | VIDE |
    --------------------------------------------------
    |type | DE5 | Ref2 | VIDE |
    --------------------------------------------------
    |longueur | DE6 | Ref3 | VIDE |
    --------------------------------------------------
    |autorise | DE7 | Ref4 | VIDE |
    --------------------------------------------------

    DE1 = 'Feuille1'!$B$3
    DE2 = 'Feuille1'!$G$3
    DE3 = SI(OU('Feuille1'!$F$3=G4;'Feuille1'!$F$3=G5;'Feuille1'!$F$3=G6;'Feuille1'!$F$3=G7);"NON";"OUI")
    DE4 = DE1
    DE5 ='Feuille1'!$C$3
    DE6 ='Feuille1'!$E$3
    DE7 =SI(DE3="OUI";"NON";"OUI")

    Merci d'avance, Vraiment si vous pouvez m'aider.

    Merci
    0
  2. Le_nouveau
     
    oups je me suis trompé :
    Resultat attendu :

    --------------------------------------------------
    |nom | VIDE | DE1 | VIDE |
    --------------------------------------------------
    |commentaire| VIDE| DE2 | VIDE |
    --------------------------------------------------
    |cle | DE3 | nom2| DE4 |
    --------------------------------------------------
    |domaine | VIDE | Ref1 | VIDE |
    --------------------------------------------------
    |type | DE5 | Ref2 | VIDE |
    --------------------------------------------------
    |longueur | DE6 | Ref3 | VIDE |
    --------------------------------------------------
    |autorise | DE7 | Ref4 | VIDE |
    --------------------------------------------------

    DE1 = 'Feuille1'!$B$4
    DE2 = 'Feuille1'!$G$4
    DE3 = SI(OU('Feuille1'!$F$4=G4;'Feuille1'!$F$4=G5;'Feuille1'!$F$4=G6;'Feuille1'!$F$4=G7);"NON";"OUI")
    DE4 = DE1
    DE5 ='Feuille1'!$C$4
    DE6 ='Feuille1'!$E$4
    DE7 =SI(DE3="OUI";"NON";"OUI")

    Merci d'avance, Vraiment si vous pouvez m'aider.

    Merci
    0
  3. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    J'ai dû mal comprendre quelle difficulté tu rencontres !
    Il me semble qu'en sélectionnant les lignes 1 à 7, en faisant Copier, puis en faisant Coller dans les cellules A8, A15, A22 ... tu obtiens le résultat voulu, non ?
    0
  4. Le_nouveau
     
    Bonjour,

    Justement non !

    moi aussi je pensais que ce serait aussi simple voila ce qui se passe :

    Je rajoute les numeros de lignes :
    N°ligne
    | --------------------------------------------------
    2 |nom | VIDE | DE1 | VIDE |
    --------------------------------------------------
    3 |commentaire| VIDE| DE2 | VIDE |
    --------------------------------------------------
    4 |cle | DE3 | nom2| DE4 |
    --------------------------------------------------
    5 |domaine | VIDE | Ref1 | VIDE |
    --------------------------------------------------
    6 |type | DE5 | Ref2 | VIDE |
    --------------------------------------------------
    7 |longueur | DE6 | Ref3 | VIDE |
    --------------------------------------------------
    8 |autorise | DE7 | Ref4 | VIDE |
    --------------------------------------------------
    9 Ligne vide
    10 Ligne vide
    | --------------------------------------------------
    11 |nom | VIDE | DE1 | VIDE |
    --------------------------------------------------
    12 |commentaire| VIDE| DE2 | VIDE |
    --------------------------------------------------
    13 |cle | DE3 | nom2| DE4 |
    --------------------------------------------------
    14 |domaine | VIDE | Ref1 | VIDE |
    --------------------------------------------------
    15 |type | DE5 | Ref2 | VIDE |
    --------------------------------------------------
    16 |longueur | DE6 | Ref3 | VIDE |
    --------------------------------------------------
    17 |autorise | DE7 | Ref4 | VIDE |
    --------------------------------------------------
    Jusque la rien d'extraordinaire, l'incrémentatin se fait sans problème à la difference que même si les valeurs son correctes, elles pointent sur la ligne 12 et non 4

    En clair j'obtient :

    DE1 = 'Feuille1'!$B$12
    DE2 = 'Feuille1'!$G$12
    DE3 = SI(OU('Feuille1'!$F$12=G12;'Feuille1'!$F$12=G5;'Feuille1'!$F$12=G6;'Feuille1'!$F$12=G7);"N ON";"OUI")
    DE4 = DE1
    DE5 ='Feuille1'!$C$12
    DE6 ='Feuille1'!$E$12
    DE7 =SI(DE3="OUI";"NON";"OUI")

    En fait il prends la valeur de la ligne de DE1 + 1 pour continuer son tableau. Etant donnée que que le DE1 du 2e tableau se trouve 9 lignes plus loins que celle du premier, la recherche se fait sur "ligne3+9=ligne 12".

    C'est donc un problême qui parait simple mais coriace :D
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le_nouveau
     
    Merci à tous ceux qui ont lu ce topic !!!
    C'est bon j'ai reussi. Je l'ai donc fait en VBA directement sur le meme Excel et je ferai donc un Copier coller Général ensuite.

    Pour ceux que cela interesse : Voici le petit bout de code :

    __________________________________________________
    Sub tout()
    l = 3
    i = 1
    pk = "PK"
    pk1 = "PK1"
    pk2 = "PK2"
    pk3 = "PK3"

    'copie du tableau'
    Worksheets("Feuil4").Range("J1:M9").Select
    Application.CutCopyMode = False
    Selection.Copy

    Do While Worksheets("Entreprises").Cells(l, 1).Value <> ""

    'Recuperation des données'
    nom = Trim(Worksheets("Entreprises").Cells(l, 2).Value)
    letype = Trim(Worksheets("Entreprises").Cells(l, 3).Value)
    longueur = Trim(Worksheets("Entreprises").Cells(l, 5).Value)
    cle = Trim(Worksheets("Entreprises").Cells(l, 6).Value)
    comm = Trim(Worksheets("Entreprises").Cells(l, 7).Value)

    'Collage du tableau vide'
    Worksheets("Feuil4").Cells(i, 1).Select
    ActiveSheet.Paste

    'Remplissage'
    Worksheets("Feuil4").Cells(i, 3).Value = nom
    Worksheets("Feuil4").Cells(i + 2, 4).Value = nom
    Worksheets("Feuil4").Cells(i + 4, 2).Value = letype
    Worksheets("Feuil4").Cells(i + 5, 2).Value = longueur
    Worksheets("Feuil4").Cells(i + 2, 2).Value = cle
    Worksheets("Feuil4").Cells(i + 1, 3).Value = comm

    If (cle = pk Or cle = pk2 Or cle = pk3) Then
    Worksheets("Feuil4").Cells(i + 2, 2).Value = "OUI ( " + cle + " )"
    ElseIf cle <> "" Then
    Worksheets("Feuil4").Cells(i + 2, 2).Value = "NON ( " + cle + " )"
    Else: Worksheets("Feuil4").Cells(i + 2, 2).Value = "NON"
    End If

    l = l + 1
    i = ((l - 2) * 9) - 8
    Loop

    End Sub
    __________________________________________________

    Voila Bonne fin de Journée à tous !!!!
    0
  7. Le_nouveau
     
    Merci moi même :D

    Aide toi et le ciel t'aidera
    0
  8. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Mais non ! Il te suffit d'écrire $G$3 ou $G$12 au lieu de G12, selon tes besoins, dans la formule de DE3.
    Mais, sans te vexer, si tu fais de gros efforts pour exposer ton problème, tu restes le seul à t'y retrouver, car connaissant les tenants et les aboutissants de ton fichier, sa logique et son objectif. Pour nous, simples lecteurs de tes messages, ça reste un peu du chinois ...
    0