• Initiateur de la discussion Initiateur de la discussion Oxygm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

Oxygm

Guest
J'ai réalisé une base de donnée : ville unités, personnes, activité, date de formation initial, recyclage et prochaine formation.

Je voudrais en fait qu'il me ressorte sur une feuille vierge juste une liste par ville des gens qui sont Correspondants sécurité par exemple.

J'ai écrit ce code sur un bouton sur une feuille vierge.

Private Sub CommandButton1_Click()

j = 4
For i = 1 To 6
Cells(1, j).Value = Ville(i)
For Each Cells In Worksheets("BD").Range("A2:A" & .Range("A65536").End(xlUp).Row)
If Cells.Value = Ville(i) Then
If Cells.Offset(0, 5).Value = CoHS Then
j = j + 1
Range("D" & Cells.Row & ":E" & Cells.Row).Copy
Range("A" & j & ":B" & j).Paste
End If
End If
Next
j = j + 2
End If


Exit Sub
End Sub

Je ne trouve pas l'erreur.
Pouvez vous m'aider?
Merci beaucoup
 

Pièces jointes

Re : Problème de code

Bonjour,
Pour que ta macro fonctionne il faut la modifier comme cela par exemple :
Cells est un terme VBA qui ne peut être utilisé comme nom de variable. Je l'ai remplacé par cel.
Code:
Private Sub CommandButton1_Click()
Dim cel As Range
j = 4
For i = 1 To 6
    Cells(1, j).Value = Ville(i)
    With Worksheets("BD")
        For Each cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
            If cel.Value = Ville(i) Then
                If cel.Offset(0, 5).Value = CoHS Then
                    j = j + 1
                    Range("D" & cel.Row & ":E" & cel.Row).Copy Sheets("Liste CoHS").Range("A" & j & ":B" & j)
                End If
            End If
        Next
    End With
    j = j + 2
Next
Mais ainsi, elle fonctionne mais ne te donne pas le résultat attendu. Il faut encore que tu la transformes pour répondre à ta question.

Cordialement
 
Re : Problème de code

Re,
Bonjour Dixit, Pierrejean,

Dixit : Certes mais nécessite de modifier les valeurs de la zone de références à chaque fois.

Pierrejean 😉 : En fait, je m'étais dit qu"Oxygm avait fait un premier travail de recherche et qu'il avait juste besoin d'un coup de pouce pour continuer à avancer et trouver tout seul la solution... Et comme je paresse un peu du côté code aujourd'hui cette idée me plaisait bien.🙄 Mais bon...

Cordialement
 
Re : Problème de code

Désolé, je ne suis pas un expert de VBA.

J'avais fait des recherches, mais je ne trouvais pas mon erreur. Mes erreurs si cela convient mieux à certains.

J'ai modifié le code. La tramme fonctionne. Merci pour votre aide.

Je trouve que l'idée du filtrage est bien. Je peux réaliser des filtres avec masquage de colonne.
Le problème c'est que je voudrais une présentation propre, plus aérée et pas sous forme de tableau. Que ca puisse aussi servir de présentation.

C'est pour cela que je m'étais orienté vers cette solution.

A moins qu'il y ait moyen de faire le filtrage et de balancer sous word.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
784
Réponses
4
Affichages
733
Réponses
8
Affichages
390
Réponses
5
Affichages
910
Réponses
2
Affichages
527
Réponses
3
Affichages
332
Réponses
8
Affichages
780
Réponses
2
Affichages
411
Retour