Bonjour, je sollicite à nouveau votre aide , je toujours débutant.
Actuellement je dois regroupé 4 liste de câbles qui sont renseigner en colonnes A . Listes provenant de différents services avec des lignes vides parfois et
le nombres est susceptible d'augmenté c'est pour cette raison que j'utilise parfois le n° de la feuille.
Je désire qu'en feuil 5 ("liste") dresser la liste de tout les câbles en colonnes A en enlevant les ligne vides et en colonnes B je mets le nom de le la feuille ex "L3 36437625"
que désigne a un lieu et son numéro barbare. ça j'y suis arrive en module 1.
J'ai trouvé dans le forum des discussions un peu similaire mais je n'ai pas réussi à l'adapter à mon problème.
Sub Synthese()
Dim LPREMCABLE As Integer 'Ligne du premier câble de la page source
Dim CASEPLEINE As Integer 'Nombre de cellule pleine en colonne "A" source
Dim INDEX As Variant
Dim PAGE As Integer
Worksheets("LISTE").Range("A2:G1000").ClearContents
PAGE = 1
INDEX = 2
For PAGE = 1 To 4
With Worksheets(PAGE)
CASEPLEINE = 0
LPREMCABLE = 5
For Each c In Worksheets(PAGE).Range("A5:A28")
If c.Value > 0 Then
CASEPLEINE = CASEPLEINE + 1
End If
Next c
' Copy
Worksheets(PAGE).Range("A5 : D27").Copy Destination:=Sheets("LISTE").Range("A" & (2 + INDEX))
End With
With Sheets("LISTE").Activate 'Mis With car sans sans ne marche pas à chaque fois
' Suppression des lignes vides
Range(Cells(INDEX, 1), Cells(65000, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
' Renseignement de la page dans la deuxieme colonne
Range(Cells(INDEX, 2), Cells(INDEX + CASEPLEINE - 1, 2)).Value = Worksheets(PAGE).Name
' Indexation de la drnière ligne pleine
INDEX = INDEX + CASEPLEINE
End With
Next PAGE
End Sub
Mais je désirerai pouvoir que sur les feuilles 1 à 4 lorsque quelqu'un rajoute un câble la saisie soit rejetée
s'il existe déjà sur une de 4 feuille et donc aussi en feuille 5 et que l'on affiche un msgbox
et si c'est un nouveau pouvoir continuer la saisie et le rajouter automatiquement en feuille 5.
Je désire également reseter la feuille 5 par le code plus haut si je reçois une nouvelle feuille.
En espérant avoir été assez clair. Je préfère une solution longue mais accessible pour un débutant.
Merci pour votre aide.
Actuellement je dois regroupé 4 liste de câbles qui sont renseigner en colonnes A . Listes provenant de différents services avec des lignes vides parfois et
le nombres est susceptible d'augmenté c'est pour cette raison que j'utilise parfois le n° de la feuille.
Je désire qu'en feuil 5 ("liste") dresser la liste de tout les câbles en colonnes A en enlevant les ligne vides et en colonnes B je mets le nom de le la feuille ex "L3 36437625"
que désigne a un lieu et son numéro barbare. ça j'y suis arrive en module 1.
J'ai trouvé dans le forum des discussions un peu similaire mais je n'ai pas réussi à l'adapter à mon problème.
Sub Synthese()
Dim LPREMCABLE As Integer 'Ligne du premier câble de la page source
Dim CASEPLEINE As Integer 'Nombre de cellule pleine en colonne "A" source
Dim INDEX As Variant
Dim PAGE As Integer
Worksheets("LISTE").Range("A2:G1000").ClearContents
PAGE = 1
INDEX = 2
For PAGE = 1 To 4
With Worksheets(PAGE)
CASEPLEINE = 0
LPREMCABLE = 5
For Each c In Worksheets(PAGE).Range("A5:A28")
If c.Value > 0 Then
CASEPLEINE = CASEPLEINE + 1
End If
Next c
' Copy
Worksheets(PAGE).Range("A5 : D27").Copy Destination:=Sheets("LISTE").Range("A" & (2 + INDEX))
End With
With Sheets("LISTE").Activate 'Mis With car sans sans ne marche pas à chaque fois
' Suppression des lignes vides
Range(Cells(INDEX, 1), Cells(65000, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
' Renseignement de la page dans la deuxieme colonne
Range(Cells(INDEX, 2), Cells(INDEX + CASEPLEINE - 1, 2)).Value = Worksheets(PAGE).Name
' Indexation de la drnière ligne pleine
INDEX = INDEX + CASEPLEINE
End With
Next PAGE
End Sub
Mais je désirerai pouvoir que sur les feuilles 1 à 4 lorsque quelqu'un rajoute un câble la saisie soit rejetée
s'il existe déjà sur une de 4 feuille et donc aussi en feuille 5 et que l'on affiche un msgbox
et si c'est un nouveau pouvoir continuer la saisie et le rajouter automatiquement en feuille 5.
Je désire également reseter la feuille 5 par le code plus haut si je reçois une nouvelle feuille.
En espérant avoir été assez clair. Je préfère une solution longue mais accessible pour un débutant.
Merci pour votre aide.