Macro VBA - tri biblio avec creation de feuilles multiples

carolinem31

XLDnaute Nouveau
Bonjour à tous,

Ma situation est la suivante:
j'ai une feuille de référence avec plusieurs colonnes du type:

Référence Authors Year Title Source Autres

j'essaye de créer une macro qui puisse:
1- lire la colonne référence
2- créer une feuille par nom différent de cette colonne référence
3- une fois la lecture par colonne faite et les feuilles créées: copier les lignes correspondantes (c'est à dire commune à la valeur prise dans la colonne référence)

en bref: je souhaiterai qu'à partir des valeurs (noms) d'une colonne, créer une feuille qui regroupe toutes les lignes en rapport avec le même nom

par exemple:
ma feuille de départ: 'table'
la colonne B contient les références tq:
B5: Literrature
B6: Maths
B7: Maths
B8: Biologie
...

ce que je désire: une macro qui en lisant la colonne B:
  • Créer une feuille Literrature et copie toutes les lignes contenant en colonne B le mot littérature
  • Créer une feuille Maths et copie toutes les lignes contenant en colonne B le mot Maths
  • etc pour toutes les références rencontrés sur la colonne B.

pour le moment je suis partie de cette macro incomplète et qui fonctionne pas trop, elle me crée des feuilles vides:

Sub cellule_DOLBact()

Dim Rg As Range, cell As Range, Sh As Worksheet

With Worksheets("table")
Set Rg = .Range("b5:b300" & .Range("B65536").End(xlUp).Row)
End With

For Each cell In Rg
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = cell.Value
Next

For Each Sh In Worksheets
Sh.Select False
Next
End Sub
en vert: je ne comprends pas la syntaxe End(xlUp)... :confused:

Merci d'avance pour ceux et celles qui peuvent m'apporter des bouts de solutions :) comme vous pouvez le remarquer je suis novice en la matière

ca m'avancerai beaucoup pour ma biblio..
 

carolinem31

XLDnaute Nouveau
Re : Macro VBA - tri biblio avec creation de feuilles multiples

Salut,

j'ai fait la modification merci,
maintenant, c'est une ligne plus loin qui pose souci (quoique je pense qu'elle était là avant):

Sub cellule_DOLBact()

Dim Rg As Range, cell As Range, Sh As Worksheet

With Worksheets("table")
Set Rg = .Range("b5:b300" & .Range("B65536").End(xlUp).Row)
End With

For Each cell In Rg
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = cell.Value
Next

For Each Sh In Worksheets
Sh.Select False
Next
End Sub

Le bug visible: a chaque lancement il me crée une feuille vide qu'il incrémente
j'ai l'impression qu'il n'y a pas de lecture de la colonne B et encore moins un regroupage des lignes avec valeur identique de la colonne B...
de plus, meme si j'enlève
For Each Sh In Worksheets
Sh.Select False
Next

le bug reste....

j'ai l'impression que mon code ne sert pas à grand chose juste à me créer des feuilles vides ce qui m'est pas très utile...:(

j'ignore la syntaxe pour regrouper les lignes qui ont la meme valeur sur la colonne B

Si une idée, elle est la bienvenue !
 

Discussions similaires

Réponses
21
Affichages
295
Réponses
8
Affichages
390
Réponses
1
Affichages
168

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 238
dernier inscrit
ds776001