XL 2019 Erreur dans ma macro

Nadou69

XLDnaute Nouveau
Bonjour,

Je souhaite faire une macro qui me permet de copier certaines colonnes d'un onglet d'un classeur vers un autre classeur avec 2 conditions (l'une ou l'autre doit être vraie).
Je souhaite aussi que le remplissage de la ligne soit gris si oui apparait dans la colonne I.

Voici mon code :

VB:
Sub CopierColonnesSiConditionRemplie()
    Dim wsSource As Worksheet
    Dim wsCible As Worksheet
    Dim dernièreLigne As Long
    Dim i As Long
    Dim ligneCible As Long
    Dim wbSource As Workbook
    Dim wbCible As Workbook
    Dim cheminSource As String
    Dim cheminCible As String
  
    ' Définir les chemins des classeurs
    cheminSource = "U:\DRH-BCS\A REMPLIR TABLEAUX DE SUIVI\tableau situations individuelles.xlsm" ' Remplacez par le chemin de votre classeur source
    cheminCible = "U:\DRH-BCS\dossiers individuels\suivi hebdomadaire dossiers individuels.xlsm" ' Remplacez par le chemin de votre classeur cible
  
    ' Ouvrir les classeurs
    Set wbSource = Workbooks.Open(cheminSource)
    Set wbCible = Workbooks.Open(cheminCible)
  
    ' Définir les feuilles de calcul
    Set wsSource = wbSource.Sheets("Combiné") ' Remplacez par le nom de votre feuille source
    Set wsCible = wbCible.Sheets("Feuil1") ' Remplacez par le nom de votre feuille cible
  
    ' Dernière ligne de la feuille Source
    dernièreLigne = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
    ligneCible = 1 ' Initialiser la première ligne de la feuille Cible
  
    ' Effacer le contenu de la feuille Cible avant de copier les données
    wsCible.Cells.Clear
  
    ' Boucle à travers chaque ligne de la feuille Source
    For i = 1 To dernièreLigne
        ' Vérifier les conditions
        If wsSource.Cells(i, "N").Value = "oui" Or wsSource.Cells(i, "O").Value = "Oui" Then
            ' Copier les colonnes C, D, F, G, H, B, K, M et O
            wsCible.Cells(ligneCible, "A").Value = wsSource.Cells(i, "C").Value
            wsCible.Cells(ligneCible, "B").Value = wsSource.Cells(i, "D").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "F").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "G").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "H").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "B").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "K").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "M").Value
            wsCible.Cells(ligneCible, "C").Value = wsSource.Cells(i, "O").Value
            ligneCible = ligneCible + 1 ' Passer à la ligne suivante de la feuille Cible
        End If
    Next i
 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$I2=""oui"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.14996795556505
    End With
    Selection.FormatConditions(1).StopIfTrue = False

  
    MsgBox "Les données ont été copiées avec succès!", vbInformation
End Sub

J'ai un soucis d'onglet cible. J'ai une erreur 9 ici : Set wsCible = wbCible.Sheets("Feuil1") ' Remplacez par le nom de votre feuille cible J'ai eu beau changé le nom, rien y fait.

Merci pour votre aide.

Bonne journée
 
Dernière édition:
Solution
@Nadou69

Je te propose ce fichier
J'ai commenté le code

Prérequis : Le fichier source doit être fermé

A noter :
1) Les tableaux structurés ne doivent pas avoir de lignes vides ==> voir fichier tableau situations individuelles.xlsm

2) Ne pas oublier de vérifier le bon chemin du fichier source.


Merci de ton retour

Phil69970

XLDnaute Barbatruc
Bonjour @Nadou69 (voisine ? ) et bienvenu sur XLD

Une piste :
La feuille "Feuil1" n'existe pas et/ou plutôt est mal orthographié

Exemple :
==> "Feuil 1" est différent de "Feuil1 " Feuil1" ou " Feuil1 "
En clair tu as peut être des espaces avant et/ou après le nom de ta feuille

A l'aveugle je ne pourrais aller plus loin

PS : Pense à mettre ton code entre balise c'est plus lisible
1717067206873.png
 

Nadou69

XLDnaute Nouveau
Bonjour @Nadou69 (voisine ? ) et bienvenu sur XLD

Une piste :
La feuille "Feuil1" n'existe pas et/ou plutôt est mal orthographié

Exemple :
==> "Feuil 1" est différent de "Feuil1 " Feuil1" ou " Feuil1 "
En clair tu as peut être des espaces avant et/ou après le nom de ta feuille

A l'aveugle je ne pourrais aller plus loin

PS : Pense à mettre ton code entre balise c'est plus lisible
Regarde la pièce jointe 1197860
Bonjour Phil69970,
J'ai ouvert et vérifié mon feuil1 et maintenant ça marche mais j'ai un bug plus bas...
wsCible.Cells(ligneCible, "A").Value = wsSource.Cells(i, "C").Value

et je pense que ça se répétera ensuite pour les autres colonnes...

Merci pour ton aide ;)

Bonne journée

Et non je ne suis pas du 69 ;)
 

Nadou69

XLDnaute Nouveau
ff

Quel bug ?
N° d'erreur etc....


Sans les fichiers est ce raisonnable !!!! 🤣
erreur 91 - variable non définie
Mais je ne peux fournir les fichiers, données confidentielles et RGPD lol

mais en gros j'ai un classeur avec toutes nos situations individuelles et un autre qui reprend les données du classeur situations individuelles que si 2 conditions sont remplies et en ne prenant que certaines colonnes.

Est-ce que
wsCible.Cells(ligneCible, "A").Value = wsSource.Cells(i, "C").Value
et
wsSource.Cells(i, "C").Value = wsCible.Cells(ligneCible, "A").Value
veut dire la même chose ?
 

Phil69970

XLDnaute Barbatruc
@Nadou69

je ne peux fournir les fichiers, données confidentielles et RGPD lol

Rien ne t’empêche de fournir un fichier représentatif :oops:

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom des TS, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
 

Nadou69

XLDnaute Nouveau
@Nadou69



Rien ne t’empêche de fournir un fichier représentatif :oops:

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom des TS, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
Voici les 2 fichiers représentatifs. Dans le tableau situations individuelles logiquement il y a beaucoup plus d'onglet.
 

Pièces jointes

  • suivi hebdomadaire dossiers individuels.xlsm
    39.7 KB · Affichages: 2
  • tableau situations individuelles.xlsm
    58.7 KB · Affichages: 5

Phil69970

XLDnaute Barbatruc
@Nadou69

Je te propose ce fichier
J'ai commenté le code

Prérequis : Le fichier source doit être fermé

A noter :
1) Les tableaux structurés ne doivent pas avoir de lignes vides ==> voir fichier tableau situations individuelles.xlsm

2) Ne pas oublier de vérifier le bon chemin du fichier source.


Merci de ton retour
 

Pièces jointes

  • suivi hebdomadaire dossiers individuels.xlsm
    22.9 KB · Affichages: 2

Nadou69

XLDnaute Nouveau
@Nadou69

Je te propose ce fichier
J'ai commenté le code

Prérequis : Le fichier source doit être fermé

A noter :
1) Les tableaux structurés ne doivent pas avoir de lignes vides ==> voir fichier tableau situations individuelles.xlsm

2) Ne pas oublier de vérifier le bon chemin du fichier source.


Merci de ton retour
Merci merci merci merci merci c'est perfect! tout fonctionne parfaitement !!
 

Discussions similaires

Réponses
2
Affichages
348

Membres actuellement en ligne

Statistiques des forums

Discussions
315 087
Messages
2 116 083
Membres
112 654
dernier inscrit
SADIKA