Où chercher pour mon problème Excel

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - Modifié le 22 sept. 2023 à 22:41
dysorthographie Messages postés 92 Date d'inscription jeudi 27 janvier 2022 Statut Membre Dernière intervention 3 avril 2024 - 28 sept. 2023 à 18:44

Bonjour

Je ne sais pas où et quoi chercher sur le site pour solutionner mon problème.

J'ai une feuille avec plusieurs données.
Mon but est de créer un feuille pour chaque adresse que je retrouve dans la BD.
Exemple il y a plusieurs lignes qui ont la valeur 100-XXXX (100-1, 100-3, 100-4, etc...) dans la colonne D, je veux me créer un nouvelle feuille qui se nommera 100.
J'aimerais que je puisse copier toutes les lignes de la BD  qui à dans la colonne D la valeur 100-XXX (ici les XXX auront une valeurs différentes).

Je veux arriver à ce que si la valeur vaut 100-XXX je copie et si la valeur ne vaut pas 100-XXX, sur ma feuille qui se nomme 100, la ligne se supprime (pour ne pas avoir de ligne vide).

En espérant être clair...

J'attends de vos nouvelles

Merci



4 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
23 sept. 2023 à 08:22

Bonjour 

j'ai déplacé ta question dans le forum VBA, car je pense c'est réalisable avec une macro et que sur CodeS SourceS il n'y a pas de forum pour Excel "pur".

A mon avis, tu fais une boucle qui itère les ligne de ta première feuille, et copie la ligne dans la bonne feuille.


1
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
23 sept. 2023 à 15:37

Merci d'avoir corrigé l'endroit de mon message.

Effectivement c'est un peu ça que je recherche...
Ça fait des années que j'ai fais du VBA.... Je vais attendre voir si quelqu'un trouve plus d'info sur le forum.

Je vais continuer mes recherches sur le forum

Merci

0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
23 sept. 2023 à 17:43

Pour moi non plus VBA c'est pas un langage courant, cependant il me semble que l'on est dans un algo plutôt simple, une boucle, des si comme tu en coderais en VB.Net ou autre.

Et si ton fichier est volumineux, y'a moyen d'utiliser des tableaux pour que l'exécution soit plus rapide

https://silkyroad.developpez.com/vba/tableaux/


0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
23 sept. 2023 à 19:31

merci... je regardera ça tout à l'heure


0
dysorthographie Messages postés 92 Date d'inscription jeudi 27 janvier 2022 Statut Membre Dernière intervention 3 avril 2024 5
28 sept. 2023 à 18:44

Bonjour,

https://www.cjoint.com/c/MICqPTLpH5c

Private Sub CommandButton1_Click()
Dim FS() As String: FS() = Split("100,200", ",")
With ThisWorkbook.Sheets.Add(Sheets(1))
    .Name = "Cherche"
    For Each F In FS
        If Not SheetExist(F) Then
            Sheets.Add after:=Sheets(Sheets.Count)
            Sheets(Sheets.Count).Name = F
        End If
        .Range("A1") = "D"
        .Range("A2") = F & "-*"
        FiltreActif Sheets("Feuil1").UsedRange, .UsedRange, Sheets(F).Range("A1")
    Next
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
End With

End Sub
Function SheetExist(ByVal SH As String) As Boolean
On Error Resume Next
SH = Sheets(SH).Name
SheetExist = Not CBool(Err)
Err.Clear
On Error GoTo 0
End Function
 
Function FiltreActif(RangeSource As Range, CriterRange As Range, CopyRange As Range, Optional Unique As Boolean = True) As Boolean
FiltreActif = False
On Error Resume Next
 RangeSource.AdvancedFilter Action:= _
        xlFilterCopy, CriteriaRange:=CriterRange _
        , CopyToRange:=CopyRange, Unique:=Unique
        DoEvents
        If Err = 0 Then FiltreActif = True
        'MsgBox Err.Description
        On Error GoTo 0
End Function
0
Rejoignez-nous