[ RESOLU ]Ajoutès des lignes dans une base de donnees...

Guido

XLDnaute Accro
bonsoir le Forum

Je recois une feuille excel brute,avec une separation de deux ,par plage ,mais pour mon fichier de stats

il me faut rajouter deux lignes supplemantaire.

voir le fichier

feuill 1 base de donnees brute,feuil 2 mon desir

Merci d'avance

Slts

Guido
 

Pièces jointes

  • DONNEES 2016.xls
    442.5 KB · Affichages: 40

Guido

XLDnaute Accro
Re : Ajoutès des lignes dans une base de donnees...

Guido,

Evite les doublons pour un même sujet...

@+

Re eddy1975

Pour moi...c'est une nouvelle demande.est que je ne pouvais pas faire une nv demande dans l'autre fichier

alors que ma premiere demande na pas encore aboutis,voila le pourquoi, mais j'aurais pu pour

faire avancé le post????Blague

la vie est belle ..

Amitiés eddy1975

a plus


Guido
 

job75

XLDnaute Barbatruc
Re : Ajoutès des lignes dans une base de donnees...

Bonsoir Guido, eddy1975,

Dans le code de Feuil2 du fichier joint :

Code:
Private Sub Worksheet_Activate()
Dim i&
Application.ScreenUpdating = False
Me.Cells.Clear 'RAZ
Feuil1.UsedRange.Copy [B1]
For i = Me.UsedRange.Rows.Count To 1 Step -1
  If Cells(i, 2) = "Wps7" Then
    Rows(i + 1).Resize(2).Insert
    Rows(i + 1).Resize(4).Clear '4 s'il y a au départ 2 lignes vides
  End If
Next
End Sub
Le problème avec vous Guido c'est que chaque fois qu'on vous donne une solution elle ne va pas sur votre fichier réel et vous ne savez pas l'adapter.

Alors je vous préviens gentiment : je ne donnerai pas d'autre solution.

Bonne fin de soirée.
 

Pièces jointes

  • DONNEES 2016(1).xls
    259.5 KB · Affichages: 36

Guido

XLDnaute Accro
Re : Ajoutès des lignes dans une base de donnees...

Re
]
Le problème avec vous Guido c'est que chaque fois qu'on vous donne une solution elle ne va pas sur

votre fichier réel et vous ne savez pas l'adapter.

Alors je vous préviens gentiment : je ne donnerai pas d'autre solution.

Re

Bonsoir job75 et le Forum

Pour moi le post etais resolu.et j'etais content.

Mais voila ont m'envoye une nouvelle feuille et les deux lignes ne se modifie pas.

pouvez vous regarder svp

Merci d'avance

Guido
 

Pièces jointes

  • DONNEES pour les deux lignes en plus...2017.xls
    629.5 KB · Affichages: 25

job75

XLDnaute Barbatruc
Re : Ajoutès des lignes dans une base de donnees...

Bonjour Guido, le forum,

Bon d'accord, avec ceci on obtiendra toujours 4 lignes vides :

Code:
Private Sub Worksheet_Activate()
Dim i&, j&, nvide&
Application.ScreenUpdating = False
Cells.Clear 'RAZ
Feuil1.UsedRange.Copy [B1]
For i = Me.UsedRange.Rows.Count To 1 Step -1
  If Cells(i, 2) Like "Course*" Then
    j = [B:B].Find("*", Cells(i, 2), xlValues, , , xlPrevious).Row
    If j < i Then
      nvide = i - j - 1
      If nvide > 4 Then
        Rows(j + 1).Resize(nvide - 4).Delete
      ElseIf nvide < 4 Then
        Rows(j + 1).Resize(4 - nvide).Insert
      End If
      Rows(j + 1).Resize(4).Clear
      i = j
    End If
  End If
Next
'---pour le dernier tableau---
j = [B:B].Find("*", , xlValues, , , xlPrevious).Row
Rows(j + 1 & ":" & Rows.Count).Delete
With Me.UsedRange: End With 'actualise les barres de défilement
End Sub
Quel que soit le mot qui termine chaque tableau (Wps7, Points, etc).

Et quel que soit le nombre de lignes vides séparant au départ les tableaux.

On recherche simplement le mot "Course" qui doit être au début de chaque tableau.

Fichier joint.

Bonne journée.
 

Pièces jointes

  • DONNEES pour les deux lignes en plus...2017(1).xls
    351.5 KB · Affichages: 22
Dernière édition:

Guido

XLDnaute Accro
Re : Ajoutès des lignes dans une base de donnees...

Re

Bonjour job75

Je tiens a te remercié pour ta reponse,merci aussi pour ton investisement pour,

Nous et le Forum

Je considere le post RESOLU,

Je me permet de te demander si tu pouvais jeter un œil sur mon avant dernier post

si tu as une possibilité de solution

D'avance ,Merci

a plus

Amitiées

Guido
 

job75

XLDnaute Barbatruc
Re : Ajoutès des lignes dans une base de donnees...

Re,

Non vous n'avez pas bien regardé, ça n'allait pas, il faut ceci :

Code:
Private Sub Worksheet_Activate()
Dim i&, j&, nvide&
Application.ScreenUpdating = False
Cells.Clear 'RAZ
Feuil1.UsedRange.Copy [B1]
For i = Me.UsedRange.Rows.Count To 1 Step -1
  If Cells(i, 2) Like "Course*" Then
    j = Cells.Find("*", Cells(i, 2), xlValues, , xlByRows, xlPrevious).Row
    If j < i Then
      nvide = i - j - 1
      If nvide > 4 Then
        Rows(j + 1).Resize(nvide - 4).Delete
      ElseIf nvide < 4 Then
        Rows(j + 1).Resize(4 - nvide).Insert
      End If
      Rows(j + 1).Resize(4).Clear
      i = j
    End If
  End If
Next
'---pour le dernier tableau---
j = Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row
Rows(j + 1 & ":" & Rows.Count).Delete
With Me.UsedRange: End With 'actualise les barres de défilement
End Sub
Fichier (2).

A+
 

Pièces jointes

  • DONNEES pour les deux lignes en plus...2017(2).xls
    351.5 KB · Affichages: 27

job75

XLDnaute Barbatruc
Re : [ RESOLU ]Ajoutès des lignes dans une base de donnees...

Re,

Finalement je préfère me passer de la méthode Find :

Code:
Private Sub Worksheet_Activate()
Dim j&, i&, nvide&
Application.ScreenUpdating = False
Cells.Clear 'RAZ
Feuil1.UsedRange.Copy [B1]
For j = Me.UsedRange.Rows.Count To 1 Step -1
  If Cells(j, 2) <> "" Then Rows(j + 1 & ":" & Rows.Count).Delete: Exit For
Next
For i = j To 1 Step -1
  If Cells(i, 2) Like "Course*" Then
    For j = i - 1 To 1 Step -1
      If Cells(j, 2) <> "" Then Exit For
    Next
    If j Then
      nvide = i - j - 1
      If nvide > 4 Then
        Rows(j + 1).Resize(nvide - 4).Delete
      ElseIf nvide < 4 Then
        Rows(j + 1).Resize(4 - nvide).Insert
      End If
      Rows(j + 1).Resize(4).Clear
      i = j
    End If
  End If
Next
With Me.UsedRange: End With 'actualise les barres de défilement
End Sub
Fichier (3).

A+
 

Pièces jointes

  • DONNEES pour les deux lignes en plus...2017(3).xls
    350.5 KB · Affichages: 25

Discussions similaires

Statistiques des forums

Discussions
314 206
Messages
2 107 252
Membres
109 787
dernier inscrit
blanioz