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

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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
      1. Contributeur
        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 ?
        1. 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
          1. 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 !!!!
            1. Contributeur
              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 ...