Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais
eut l'occation de mettre le nez dedans.
Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une
creation d'onglets selon les données d'une colonne. Puis que le programme
copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à
AURORE
( etc...). Création des onglets AUBE et AURORE puis copie et colle des
lignes correspondantes.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que
je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais
eut l'occation de mettre le nez dedans.
Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une
creation d'onglets selon les données d'une colonne. Puis que le programme
copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à
AURORE
( etc...). Création des onglets AUBE et AURORE puis copie et colle des
lignes correspondantes.
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
gothik
Merci. Je vais essayer votre méthode. Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
Merci. Je vais essayer votre méthode.
Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais
souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que
je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais
eut l'occation de mettre le nez dedans.
Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une
creation d'onglets selon les données d'une colonne. Puis que le programme
copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à
AURORE
( etc...). Création des onglets AUBE et AURORE puis copie et colle des
lignes correspondantes.
Merci. Je vais essayer votre méthode. Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
anonymousA
re,
un exmple complet à adapter si tu préfères que les copies n'aient lieu que sur des onglets et ne créent pas de fichiers
Sub cellulesvisibles()
Dim Tabentree, Sandoublons As New Collection Dim plagefiltre As Range, plagefiltrevisible As Range, i As Integer, nbchamps As Integer
'on invalide le raffraichissement de l'écran
Application.ScreenUpdating = False
'on initialise une variable , en prévision de la suite
Set wbk = ActiveWorkbook
'on donne le nombre de champs (pour moi ici 11 champs) nbchamps = 11
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps Selection.AutoFilter Field:=i Next
'on affecte à une variable la zone de filtre
Set plagefiltre = ActiveSheet.AutoFilter.Range
'on commence par déterminer le nombre de villes différentes en constituant une collection des villes 'ici les villes sont dans le champ N°8, donc on s'interesse à la colonne 8. Dans cet 'exemple , on cherchait à récupérer des informations sur un critère defiltre 'qui concernait des villes
Tabentree = plagefiltre.Columns(8).Value
For i = LBound(Tabentree, 1) To UBound(Tabentree, 1) On Error Resume Next Sandoublons.Add Tabentree(i, 1), CStr(Tabentree(i, 1)) Next On Error GoTo 0
'une fois déterminé le nombre de villes, on va parcourir la collection pour faire autant de fois une recherche 'filtrée qu'il y a de villes 'on part de i=2 pour ne pas prendre le nom de l'entete
For i = 2 To Sandoublons.Count
'ici la recherche se fait sur le champ N°8 plagefiltre.AutoFilter Field:=8, Criteria1:=Sandoublons(i) Set plagefiltrevisible = plagefiltre.SpecialCells(xlCellTypeVisible) 'on réalise l'opération de copie plagefiltrevisible.Copy creerfichierdest Sandoublons(i) 'on passe à la ville suivante Next
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps Selection.AutoFilter Field:=i Next
'on reset la collection
Set Sandoublons = Nothing
'on remet le raffraichissement de l'écran
Application.ScreenUpdating = False
'on réactive les alertes que l'on avait enlevées
Application.DisplayAlerts = True
End Sub
Sub creerfichierdest(nomville As String)
'pour eviter le message de confirmaion d'écrasement d'un fichier dèjà existant Application.DisplayAlerts = False
'on crée un nouveau fichier Workbooks.Add
'on copie les données ActiveSheet.Paste
'on libère le presse-papiers Application.CutCopyMode = False
'on enregistre le fichier portant le nom de la ville dans un répertoire que l'on a préalablement choisi (il faut bien sur qu'il existe sur le disque: 'on met un mdp pour permettre qu'à l'ouverture si le mdp n'est pas frappé, le fichier s'ouvre en lecture seule 'si le fichier existe déjà dans le répertoire, on écrase l'ancien et on en met un nouveau à la place
On Error Resume Next With ActiveWorkbook .SaveAs "D:titi" & nomville & ".xls", , , "cc" If Err.Number <> 0 Then Err.Clear Kill "D:titi" & nomville & ".xls" .SaveAs "D:titi" & nomville & ".xls", , , "cc" End If .Close End With
'on revient au fichier source
wbk.Activate
End Sub
A+
Merci. Je vais essayer votre méthode. Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
re,
un exmple complet à adapter si tu préfères que les copies n'aient lieu que
sur des onglets et ne créent pas de fichiers
Sub cellulesvisibles()
Dim Tabentree, Sandoublons As New Collection
Dim plagefiltre As Range, plagefiltrevisible As Range, i As Integer,
nbchamps As Integer
'on invalide le raffraichissement de l'écran
Application.ScreenUpdating = False
'on initialise une variable , en prévision de la suite
Set wbk = ActiveWorkbook
'on donne le nombre de champs (pour moi ici 11 champs)
nbchamps = 11
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps
Selection.AutoFilter Field:=i
Next
'on affecte à une variable la zone de filtre
Set plagefiltre = ActiveSheet.AutoFilter.Range
'on commence par déterminer le nombre de villes différentes en constituant
une collection des villes
'ici les villes sont dans le champ N°8, donc on s'interesse à la colonne 8.
Dans cet
'exemple , on cherchait à récupérer des informations sur un critère defiltre
'qui concernait des villes
Tabentree = plagefiltre.Columns(8).Value
For i = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sandoublons.Add Tabentree(i, 1), CStr(Tabentree(i, 1))
Next
On Error GoTo 0
'une fois déterminé le nombre de villes, on va parcourir la collection pour
faire autant de fois une recherche
'filtrée qu'il y a de villes
'on part de i=2 pour ne pas prendre le nom de l'entete
For i = 2 To Sandoublons.Count
'ici la recherche se fait sur le champ N°8
plagefiltre.AutoFilter Field:=8, Criteria1:=Sandoublons(i)
Set plagefiltrevisible = plagefiltre.SpecialCells(xlCellTypeVisible)
'on réalise l'opération de copie
plagefiltrevisible.Copy
creerfichierdest Sandoublons(i)
'on passe à la ville suivante
Next
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps
Selection.AutoFilter Field:=i
Next
'on reset la collection
Set Sandoublons = Nothing
'on remet le raffraichissement de l'écran
Application.ScreenUpdating = False
'on réactive les alertes que l'on avait enlevées
Application.DisplayAlerts = True
End Sub
Sub creerfichierdest(nomville As String)
'pour eviter le message de confirmaion d'écrasement d'un fichier dèjà existant
Application.DisplayAlerts = False
'on crée un nouveau fichier
Workbooks.Add
'on copie les données
ActiveSheet.Paste
'on libère le presse-papiers
Application.CutCopyMode = False
'on enregistre le fichier portant le nom de la ville dans un répertoire que
l'on a préalablement choisi (il faut bien sur qu'il existe sur le disque:
'on met un mdp pour permettre qu'à l'ouverture si le mdp n'est pas frappé,
le fichier s'ouvre en lecture seule
'si le fichier existe déjà dans le répertoire, on écrase l'ancien et on en
met un nouveau à la place
On Error Resume Next
With ActiveWorkbook
.SaveAs "D:titi" & nomville & ".xls", , , "cc"
If Err.Number <> 0 Then
Err.Clear
Kill "D:titi" & nomville & ".xls"
.SaveAs "D:titi" & nomville & ".xls", , , "cc"
End If
.Close
End With
'on revient au fichier source
wbk.Activate
End Sub
A+
Merci. Je vais essayer votre méthode.
Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais
souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que
je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais
eut l'occation de mettre le nez dedans.
Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une
creation d'onglets selon les données d'une colonne. Puis que le programme
copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à
AURORE
( etc...). Création des onglets AUBE et AURORE puis copie et colle des
lignes correspondantes.
un exmple complet à adapter si tu préfères que les copies n'aient lieu que sur des onglets et ne créent pas de fichiers
Sub cellulesvisibles()
Dim Tabentree, Sandoublons As New Collection Dim plagefiltre As Range, plagefiltrevisible As Range, i As Integer, nbchamps As Integer
'on invalide le raffraichissement de l'écran
Application.ScreenUpdating = False
'on initialise une variable , en prévision de la suite
Set wbk = ActiveWorkbook
'on donne le nombre de champs (pour moi ici 11 champs) nbchamps = 11
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps Selection.AutoFilter Field:=i Next
'on affecte à une variable la zone de filtre
Set plagefiltre = ActiveSheet.AutoFilter.Range
'on commence par déterminer le nombre de villes différentes en constituant une collection des villes 'ici les villes sont dans le champ N°8, donc on s'interesse à la colonne 8. Dans cet 'exemple , on cherchait à récupérer des informations sur un critère defiltre 'qui concernait des villes
Tabentree = plagefiltre.Columns(8).Value
For i = LBound(Tabentree, 1) To UBound(Tabentree, 1) On Error Resume Next Sandoublons.Add Tabentree(i, 1), CStr(Tabentree(i, 1)) Next On Error GoTo 0
'une fois déterminé le nombre de villes, on va parcourir la collection pour faire autant de fois une recherche 'filtrée qu'il y a de villes 'on part de i=2 pour ne pas prendre le nom de l'entete
For i = 2 To Sandoublons.Count
'ici la recherche se fait sur le champ N°8 plagefiltre.AutoFilter Field:=8, Criteria1:=Sandoublons(i) Set plagefiltrevisible = plagefiltre.SpecialCells(xlCellTypeVisible) 'on réalise l'opération de copie plagefiltrevisible.Copy creerfichierdest Sandoublons(i) 'on passe à la ville suivante Next
'on remet l'ensemble des filtres à blanc
For i = 1 To nbchamps Selection.AutoFilter Field:=i Next
'on reset la collection
Set Sandoublons = Nothing
'on remet le raffraichissement de l'écran
Application.ScreenUpdating = False
'on réactive les alertes que l'on avait enlevées
Application.DisplayAlerts = True
End Sub
Sub creerfichierdest(nomville As String)
'pour eviter le message de confirmaion d'écrasement d'un fichier dèjà existant Application.DisplayAlerts = False
'on crée un nouveau fichier Workbooks.Add
'on copie les données ActiveSheet.Paste
'on libère le presse-papiers Application.CutCopyMode = False
'on enregistre le fichier portant le nom de la ville dans un répertoire que l'on a préalablement choisi (il faut bien sur qu'il existe sur le disque: 'on met un mdp pour permettre qu'à l'ouverture si le mdp n'est pas frappé, le fichier s'ouvre en lecture seule 'si le fichier existe déjà dans le répertoire, on écrase l'ancien et on en met un nouveau à la place
On Error Resume Next With ActiveWorkbook .SaveAs "D:titi" & nomville & ".xls", , , "cc" If Err.Number <> 0 Then Err.Clear Kill "D:titi" & nomville & ".xls" .SaveAs "D:titi" & nomville & ".xls", , , "cc" End If .Close End With
'on revient au fichier source
wbk.Activate
End Sub
A+
Merci. Je vais essayer votre méthode. Cependant je ne serais pas l'utilisateur final, c'est pour cela que jaurais souhaiter mettre cela sous macro. Comme ca en un clic le user pourra le faire.
Bonjour,
en plusieurs fois et sans macro, faire un filtre élaboré
avec VBA c'est possible mais celà te sera t-il utlile compte tenu de ce que je t'indique précédemment
A+
Bonjours,
Depuis peu je suis sur un projet avec Visual Basic. Seulement je n'ai jamais eut l'occation de mettre le nez dedans. Je vais vous exposer mon problème en espérant que quelqu'un puisse m'aider.
Enfait je ne sais pas du tout comment creer une programmation pour une creation d'onglets selon les données d'une colonne. Puis que le programme copie et colle automatique les données des ligne correspondantes.
Par exemple les lignes 1 a 10 correspondent à AUBE et les lignes 11 a 20 à AURORE ( etc...). Création des onglets AUBE et AURORE puis copie et colle des lignes correspondantes.
Merci d'avance pour votre aide.
gothik
Je vous remercie pour toutes ces infos, je vais immédiatement en faire l'application. C'est tres agreable de pouvoir compter sur l'aide de personnes competentes en la matiere. Je vous en suis reconnaissant.
cordialement,
Je vous remercie pour toutes ces infos, je vais immédiatement en faire
l'application.
C'est tres agreable de pouvoir compter sur l'aide de personnes competentes
en la matiere.
Je vous en suis reconnaissant.
Je vous remercie pour toutes ces infos, je vais immédiatement en faire l'application. C'est tres agreable de pouvoir compter sur l'aide de personnes competentes en la matiere. Je vous en suis reconnaissant.