Recherche Données Données et creation d'onglet avec remplissage données

Le
Alex
Bonjour à tous,

Je rencontre des soucis, et je ne sais pas comment faire.

Voilà, j'ai un onglet "base de données", avec 5 colonnes : Nom
Immeuble, Nom Locataire, Etage, nombre de piece, et Loyer.

Mon premier problème :

Je voudrais créer autant d'onglet qu'il y de nom d'immeuble. Le nom de
l'onglet portant le nom de l'immeuble. Dans ma base, je peux avoir 20
lignes avec le nom Beaujon et 10 à Lignes avec le nom Gare. Mes lignes
ne sont pas obligatoirement dans l'ordre alpha, mais je veudrais bien
entendu, que cela me fasse qu'un seul onglet Beaujon et qu'un onglet
Gare.

Mon second problème :

C'est de remplir mon onglet avec les données correspondantes. Je
voudrais qu'en fonction du nombre d'etage. Si par exemple l'étage le
plus élevé pour l'immeuble est 4 (étages), que les données se
positionnent de la facon suivante, à savoir ceux 1er se positionne
sur ma 4eme ligne, ceux du 2eme sur la 3eme, ceux du 3 sur ma 2eme et
enfin ceux du 4ème sur ma 1ere ligne, (normalement j'ai pas de trou
entre les étages) et qu'a chaque fois en commencant par la colonne A
j'ai le nom du locataire sur la colonne B le nombre de pièce et sur C
le Loyer. Si j'ai un deuxieme locataire pour le même étage, même
opération mais à partir de D, et un 3em à partir de H.

Ma base :


Nom Immeuble Nom Etage Nombre de pièce Loyer
Alleray A 1 4 1200
Beaujon D 3 4 1200
Relais B 3 4 2300
Tour C 2 4 2880
Tour E 3 3 2300
Alleray E 4 2 1200
Alleray C 2 2 2300
Alleray A 2 2 2880
Alleray A 1 2 1200
Alleray E 1 2 1300
Beaujon B 1 2 1200

Exemple de résultat sur Alleray sur mon onglet cree Alleray :

E 4 2 1200
C 3 1 1200 E 3 1 1300
A 2 2 2880 C 2 2 2300
A 1 2 1200 F 1 4 1200 F 1 1 800

Merci d'avance pour votre aide.
Cordialement.
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #21508502
Bonsoir,

http://boisgontierjacques.free.fr/pages_site/GestionOnglets.htm#CréationO nglets2

JB

On 6 avr, 19:57, Alex
Bonjour à tous,

Je rencontre des soucis, et je ne sais pas comment faire.

Voilà, j'ai un onglet "base de données", avec 5 colonnes : Nom
Immeuble, Nom Locataire, Etage, nombre de piece, et Loyer.

Mon premier problème :

Je voudrais créer autant d'onglet qu'il y de nom d'immeuble. Le nom de
l'onglet portant le nom de l'immeuble. Dans ma base, je peux avoir 20
lignes avec le nom Beaujon et 10 à Lignes avec le nom Gare. Mes lignes
ne sont pas obligatoirement dans l'ordre alpha, mais je veudrais bien
entendu, que cela me fasse qu'un seul onglet Beaujon et qu'un onglet
Gare.

Mon second problème :

C'est de remplir mon onglet avec les données correspondantes. Je
voudrais qu'en fonction du nombre d'etage. Si par exemple l'étage le
plus élevé pour l'immeuble est 4 (étages), que les données se
positionnent de la facon suivante, à savoir ceux 1er  se positionne
sur ma 4eme ligne, ceux du 2eme sur la 3eme, ceux du  3 sur ma 2eme et
enfin ceux du 4ème sur ma 1ere ligne, (normalement j'ai pas de trou
entre les étages) et qu'a chaque fois en commencant par la colonne A
j'ai le nom du locataire sur  la colonne B le nombre de pièce et sur C
le Loyer. Si j'ai un deuxieme locataire pour le même étage, même
opération mais à partir de D, et un 3em à partir de H....

Ma base :

Nom Immeuble    Nom     Etage   Nombre de pièce        Loyer
Alleray                  A      1       4                      1200
Beaujon            D    3       4                      1200
Relais            B     3       4                      2300
Tour                     C      2       4                      2880
Tour                   E        3       3                      2300
Alleray                E        4       2                      1200
Alleray                C        2       2                      2300
Alleray                A        2       2                      2880
Alleray                A        1       2                      1200
Alleray                E        1       2                      1300
Beaujon                B        1       2                      1200

Exemple de résultat  sur Alleray  sur mon onglet cree Alleray :

E       4       2       1200
C       3       1       1200    E       3       1       1300
A       2       2       2880    C       2       2       2300
A       1       2       1200    F       1       4       1200    F  1  1 800

Merci d'avance pour votre aide.
Cordialement.
Alex
Alex
Le #21508492
On 6 avr, 20:02, JB
Bonsoir,

http://boisgontierjacques.free.fr/pages_site/GestionOnglets.htm#Créatio nOnglets2

JB

On 6 avr, 19:57, Alex


> Bonjour à tous,

> Je rencontre des soucis, et je ne sais pas comment faire.

> Voilà, j'ai un onglet "base de données", avec 5 colonnes : Nom
> Immeuble, Nom Locataire, Etage, nombre de piece, et Loyer.

> Mon premier problème :

> Je voudrais créer autant d'onglet qu'il y de nom d'immeuble. Le nom d e
> l'onglet portant le nom de l'immeuble. Dans ma base, je peux avoir 20
> lignes avec le nom Beaujon et 10 à Lignes avec le nom Gare. Mes ligne s
> ne sont pas obligatoirement dans l'ordre alpha, mais je veudrais bien
> entendu, que cela me fasse qu'un seul onglet Beaujon et qu'un onglet
> Gare.

> Mon second problème :

> C'est de remplir mon onglet avec les données correspondantes. Je
> voudrais qu'en fonction du nombre d'etage. Si par exemple l'étage le
> plus élevé pour l'immeuble est 4 (étages), que les données se
> positionnent de la facon suivante, à savoir ceux 1er  se positionne
> sur ma 4eme ligne, ceux du 2eme sur la 3eme, ceux du  3 sur ma 2eme e t
> enfin ceux du 4ème sur ma 1ere ligne, (normalement j'ai pas de trou
> entre les étages) et qu'a chaque fois en commencant par la colonne A
> j'ai le nom du locataire sur  la colonne B le nombre de pièce et su r C
> le Loyer. Si j'ai un deuxieme locataire pour le même étage, même
> opération mais à partir de D, et un 3em à partir de H....

> Ma base :

> Nom Immeuble    Nom     Etage   Nombre de pièce        Loyer
> Alleray                  A      1       4                      1200
> Beaujon            D    3       4                      1200
> Relais            B     3       4                      2300
> Tour                     C      2       4                      2880
> Tour                   E        3       3                      2300
> Alleray                E        4       2                      1200
> Alleray                C        2       2                      2300
> Alleray                A        2       2                      2880
> Alleray                A        1       2                      1200
> Alleray                E        1       2                      1300
> Beaujon                B        1       2                      1200

> Exemple de résultat  sur Alleray  sur mon onglet cree Alleray :

> E       4       2       1200
> C       3       1       1200    E       3       1       1300
> A       2       2       2880    C       2       2       2300
> A       1       2       1200    F       1       4       1200    F  1  1 800

> Merci d'avance pour votre aide.
> Cordialement.
> Alex- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci, pour ton lien, je vais déjà essayer avec ca, Ca à l'air déj à
bien complet.
michdenis
Le #21513082
Bonjour,

Un fichier exemple ici : http://cjoint.com/?ebbGGRdHfO

Le contenu de la procédure :

Il faudra que tu modifies le nom de la feuille dans la procédure

'--------------------------------------------------------
Sub test()
Dim Arr(), Rg As Range, C As Range, A As Integer
Dim DerCol As Integer, DerLig As Long, Elt As Variant
Dim Sh As Worksheet, NomFeuille As String

Application.EnableEvents = False
Application.ScreenUpdating = False
NomFeuille = ActiveSheet.Name

With Worksheets("Sheet1") ' Nom à adapter
'adresse de la colonne où sont les agents -> à adapter
With .Range("B1:B" & .Range("B65536").End(xlUp).Row)
.AdvancedFilter xlFilterInPlace, , , True
For Each C In .Offset(1).Resize(.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
A = A + 1
ReDim Preserve Arr(1 To A)
Arr(A) = C.Value
Next
End With
.ShowAllData
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Il est pris pour acquis que ton tableau débute en A1
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
End With

On Error Resume Next
For Each Elt In Arr
Err = 0
Set Sh = Worksheets(Elt)
If Err = 0 Then
Sh.Cells.Clear
Else
Err = 0
Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))
Sh.Name = Elt
End If
With Rg
.AutoFilter field:=2, Criteria1:=Elt
.SpecialCells(xlCellTypeVisible).Copy Sh.Range("A1")
End With
Next
Rg.AutoFilter
Worksheets(NomFeuille).Select
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------------------




"Alex"
Bonjour à tous,

Je rencontre des soucis, et je ne sais pas comment faire.

Voilà, j'ai un onglet "base de données", avec 5 colonnes : Nom
Immeuble, Nom Locataire, Etage, nombre de piece, et Loyer.

Mon premier problème :

Je voudrais créer autant d'onglet qu'il y de nom d'immeuble. Le nom de
l'onglet portant le nom de l'immeuble. Dans ma base, je peux avoir 20
lignes avec le nom Beaujon et 10 à Lignes avec le nom Gare. Mes lignes
ne sont pas obligatoirement dans l'ordre alpha, mais je veudrais bien
entendu, que cela me fasse qu'un seul onglet Beaujon et qu'un onglet
Gare.

Mon second problème :

C'est de remplir mon onglet avec les données correspondantes. Je
voudrais qu'en fonction du nombre d'etage. Si par exemple l'étage le
plus élevé pour l'immeuble est 4 (étages), que les données se
positionnent de la facon suivante, à savoir ceux 1er se positionne
sur ma 4eme ligne, ceux du 2eme sur la 3eme, ceux du 3 sur ma 2eme et
enfin ceux du 4ème sur ma 1ere ligne, (normalement j'ai pas de trou
entre les étages) et qu'a chaque fois en commencant par la colonne A
j'ai le nom du locataire sur la colonne B le nombre de pièce et sur C
le Loyer. Si j'ai un deuxieme locataire pour le même étage, même
opération mais à partir de D, et un 3em à partir de H....

Ma base :


Nom Immeuble Nom Etage Nombre de pièce Loyer
Alleray A 1 4 1200
Beaujon D 3 4 1200
Relais B 3 4 2300
Tour C 2 4 2880
Tour E 3 3 2300
Alleray E 4 2 1200
Alleray C 2 2 2300
Alleray A 2 2 2880
Alleray A 1 2 1200
Alleray E 1 2 1300
Beaujon B 1 2 1200

Exemple de résultat sur Alleray sur mon onglet cree Alleray :

E 4 2 1200
C 3 1 1200 E 3 1 1300
A 2 2 2880 C 2 2 2300
A 1 2 1200 F 1 4 1200 F 1 1 800

Merci d'avance pour votre aide.
Cordialement.
Alex
Alex
Le #21514262
Merci Denis pour ta réponse,
Je suis en train de tester cela, je reviendrais vers vous, si j'ai
besoin d'autres précisions.
Cordialement.
Alex
Publicité
Poster une réponse
Anonyme