XL 2019 copier et coller avec boucle

br44

XLDnaute Impliqué
Bonjour à le forum ,

me revoilà j'ai besoin d'un petit coup de main pour automatiser une partie d'un ficher.
le but étant de pour voir copier plusieurs informations d'une feuilles de 1000 lignes maximum sur un certain nombre de colonnes 72 sur 90 actuellement ,mais
qui augmentes de 12 colonnes / an .
je voudrait pourvoir copier se contenue avec un bouton de commande ; .

je vous joint un fichier avec en feuil1 les explications et les feuilles concernées
part l'opération ;
vous remerciant par avances .
cordialement
 

Gégé-45550

XLDnaute Accro
Bonjour à le forum ,

me revoilà j'ai besoin d'un petit coup de main pour automatiser une partie d'un ficher.
le but étant de pour voir copier plusieurs informations d'une feuilles de 1000 lignes maximum sur un certain nombre de colonnes 72 sur 90 actuellement ,mais
qui augmentes de 12 colonnes / an .
je voudrait pourvoir copier se contenue avec un bouton de commande ; .

je vous joint un fichier avec en feuil1 les explications et les feuilles concernées
part l'opération ;
vous remerciant par avances .
cordialement
Bonjour,
Il est où le fichier ?
Cordialement,
 

br44

XLDnaute Impliqué
Bonjour à tous ,

je voudrais savoir si il y a quelques choses qui ne vas pas avec mon sujet ? je vous de m'excuser pour ne pas avoir donner de nouvelle plus tôt , mais j'ai été un peu pris par le boulot . .
merci d'avance pour vos retour et si ily a des question surtout n'hésiter pas . si cela peu permettre d'améliorer le dialogue . amicalement Br44
 

br44

XLDnaute Impliqué
Bonjour a tout le forum ,
je me permet de relancer se sujet . en voyant qu'il n'y a pas de réponse j'ai pris le temps de refaire un ficher plus claire avec des macro réaliser par l'enregistreur pour éclaircir ma demande . je vais dérouler le processus pour compléter afin de vous donner un maximum d'information utile .
ma demande : Automatiser l'alimentation de la feuille "Cadeaux Manquant" grâce à un bouton .
pour cela il faut sélectionner les colonnes qui sont =0 (en violet ) jusqu'à la colonne en vert et qui s'étendra jusqu'à la colonne 60 max dans feuille " Manquant Mensuel "
puis copier les valeurs (30 colonnes au maximum) sélectionner sur la ligne 4 .
il ne reste plus cas coller cette sélection dans la plage correspondant au nom de la colonne A de chacune de ses feuilles .
cette opération devra être exécuter pour chacun des noms (jusqu'au maximum 1000 lignes) .
dans le ficher joint vous trouverez :
Feuille1 : un résumer et l'objet de la demandes
Feuille2 : feuille "saisie mensuel " = feuille sur laquelle est enregistré mes opérations ; elle alimentes
la feuilles 3 en changeant le 0 en 1 à chaque entre équivalant au N° à la ligne4
Feuille 3: feuille "manquants mensuel = permet de visualiser les cadeaux non distribuer après une période de 30jours de
Feuille 4: feuille "Cadeaux Manquant = listes des cadeaux qui seront à distribuer sur les 30 jours suivant (période 2) .
Voilà en espérant que cela soit plus explicite et vous puissiez m'aider . en vous remerciant toutes et tous par avance . Amicalement Br44
 

Pièces jointes

  • Classeur1.xlsm
    929.9 KB · Affichages: 4

Gégé-45550

XLDnaute Accro
ma demande : Automatiser l'alimentation de la feuille "Cadeaux Manquant" grâce à un bouton .
pour cela il faut sélectionner les colonnes qui sont =0 (en violet ) jusqu'à la colonne en vert
Quelle colonne "en vert", il n'y en a pas dans la feuille "Cadeaux Manquants". Ne serait-il pas plus clair d'écrire, par exemple, depuis la ligne 5 de la colonne B de la feuille "Cadeaux Manquants" jusqu'à la colonne AG de la même feuille ?
et qui s'étendra jusqu'à la colonne 60 max dans feuille " Manquant Mensuel "
Pareil, colonne 60 pourrait avantageusement être appelée colonne BH
puis copier les valeurs (30 colonnes au maximum) sélectionner sur la ligne 4 .
La ligne 4 de quelle feuille ?
il ne reste plus cas coller cette sélection dans la plage correspondant au nom de la colonne A de chacune de ses feuilles .
Là aussi, c'est clair comme du jus de boudin.
Si vous espérez obtenir des réponses, faites l'effort de formuler le plus clairement possible vos questions en ajoutant, au besoin, un exemple avec le résultat attendu.
Cordialement,
 

br44

XLDnaute Impliqué
Bonjour ,gégé-45550,
tout d'abord je tiens à vous remercier pour vos observations et je suis désoler de ne pas avoir aussi claire que je le pensait .

pour répondre à vos interrogation :
Alors mon But est de pourvoir alimenter grâce à un bouton la feuille 4 avec les valeurs de la ligne 4 de la feuille 3 . les valeurs a copier sont celle qui sont égal à 0 .
exemple : pour le joueur 1 situé en A5 de la feuille3 qui les valeurs = 0 corresponde à : E5;G5;H5;P5 et donc leur valeur numérique est en : E4 =4 ;G4=6 etc... la plage des valeurs est de B4 : BI 4 de la feuille3 est copier ces valeur puis sont collés dans la plage B5 :AE5 de la feuille4 ( voir première ligne en bleu dans la feuille 4)
pour le joueur 2 sera les cellules =à 0 de la lignes 6 plage B6:BI6 dont la valeurs est en ligne 4 de la B4:BI4 et ainsi de suite sur plage deB5 :B1005 ligne . est la plage B4:BF 4 de la feuille3 est bien en vert .la zone s'agrandis d'une colonne par mois je base donc ma section de recherche jusqu'à BI4.

Petit question en passant : vous avez put ouvrir le ficher joint en bas du message 5 de se poste ? .
Merci d'avance pour l'aide éventuel que vous pourriez m'apporte dans la résolution de se soucis. Amicalement Br44
 
Dernière édition:

Gégé-45550

XLDnaute Accro
Petit question en passant : vous avez put ouvrir le ficher joint en bas du message 5 de se poste ? .
Merci d'avance pour l'aide éventuel que vous pourriez m'apporte dans la résolution de se soucis. Amicalement Br44
Bonjour,
Dans le post #5, il n'y a pas de fichier joint, mais oui j'ai pu ouvrir le fichier joint du post #6 ; au passage, pensez à corriger la référence circulaire en B1 de la feuille "SAISIES_CADEAUX".
Maintenant, je vais essayer de comprendre ce que vous voulez.
Cordialement,
 

Gégé-45550

XLDnaute Accro
pour répondre à vos interrogation :
Alors mon But est de pourvoir alimenter grâce à un bouton la feuille 4 avec les valeurs de la ligne 4 de la feuille 3 .
Ça commence mal !
Dans votre fichier, la Feuil3 est vide !!!!
De grâce, appelez les feuilles (onglets) par le nom que vous leur avez donné (ou celui créé par défaut par Excel), par exemple, parlez de la feuille "SAISIES_CADEAUX", qui est plus explicite que "Feuil3" qui est son nom dans l'explorateur de projet afin d'éviter toute ambiguïté du genre feuille 3 (parle-t-on de la feuille "SAISIES_CADEAUX" ou de la feuille nommée "Feuil3" dont le nom est "Feuil5" dans l'explorateur de projet ?). La première proposition est probablement la bonne mais on perd beaucoup de temps avec ces imprécisions, on risque de faire fausse route et, à la fin, de vous laisser tomber à force de demander des précisions.
Cordialement,
 

Phil69970

XLDnaute Barbatruc
Bonjour @br44 et @Gégé-45550

Je plussoie Gégé j'ai ouvert le fichier et j'ai lu et essayé de comprendre les explications et c'est toujours incompréhensible pour moi malgré déjà 6 posts d'explications du demandeur et .... j'ai tout fermé ..... donc cela sera sans moi

Et on parle peut être aussi du 3eme onglets de la feuille .... va savoir :rolleyes:

Et juste pour rappel de la charte:

1685433862729.png


Bonne lecture

@Phil69970
 

br44

XLDnaute Impliqué
Bonjour ,gégé-45550,
tout d'abord je tiens à vous remercier pour vos observations et je suis désoler de ne pas avoir aussi claire que je le pensait .

pour répondre à vos interrogation :
Alors mon But est de pourvoir alimenter grâce à un bouton la feuille 4 avec les valeurs de la ligne 4 de la feuille 3 . les valeurs a copier sont celle qui sont égal à 0 .
exemple : pour le joueur 1 situé en A5 de la feuille3 qui les valeurs = 0 corresponde à : E5;G5;H5;P5 et donc leur valeur numérique est en : E4 =4 ;G4=6 etc... la plage des valeurs est de B4 : BI 4 de la feuille3 est copier ces valeur puis sont collés dans la plage B5 :AE5 de la feuille4 ( voir première ligne en bleu dans la feuille 4)
pour le joueur 2 sera les cellules =à 0 de la lignes 6 plage B6:BI6 dont la valeurs est en ligne 4 de la B4:BI4 et ainsi de suite sur plage deB5 :B1005 ligne . est la plage B4:BF 4 de la feuille3 est bien en vert .la zone s'agrandis d'une colonne par mois je base donc ma section de recherche jusqu'à BI4.

Petit question en passant : vous avez put ouvrir le ficher joint en bas du message 5 de se poste ? .
Merci d'avance pour l'aide éventuel que vous pourriez m'apporte dans la résolution de se soucis. Amicalement Br44
 

br44

XLDnaute Impliqué
Bonjour ,
Avant merci pour votre patience et vraiment désole pour cette mauvaise communication. Avant de continuer je vous joint a nouveau mon fichier mais en format XLS sans l'onglet 5 ,car à première vue il y aurais un souci avec mon fichier XLM dans lequel il y 5 onglets qui sont 1) feuil1 ; 2) SAISIE CADEAUX ; 3) MANQUANT MENSUEL ; 4) CADEAUX MANQUANT ; 5) feuil3 ;
le premier onglet contient un texte sur le motif de ma démarche
le second contient un tableau qui vas de A2 jusqu'à BI20 .
le troisième onglet un tableau qui vas de A2 jusqu' à CM20
le quatrième onglet un tableau qui vas A2 jusqu' à AE20 .
et le cinquième onglet est une feuille vide .
j'espère que c'est bien cela que vous avez en ouvrant le fichier du poste 6 .
en espérant que cette version nous permette une meilleur base de communication .
je vous remercie de votre patience et je vous assure que fait je mon possible pour vous transmette au mieux mon souci. Amicalement Br44
 

Pièces jointes

  • Classeur1.xls
    174 KB · Affichages: 4

Gégé-45550

XLDnaute Accro
Bonjour ,
Avant merci pour votre patience et vraiment désole pour cette mauvaise communication. Avant de continuer je vous joint a nouveau mon fichier mais en format XLS sans l'onglet 5 ,car à première vue il y aurais un souci avec mon fichier XLM dans lequel il y 5 onglets qui sont 1) feuil1 ; 2) SAISIE CADEAUX ; 3) MANQUANT MENSUEL ; 4) CADEAUX MANQUANT ; 5) feuil3 ;
le premier onglet contient un texte sur le motif de ma démarche
le second contient un tableau qui vas de A2 jusqu'à BI20 .
le troisième onglet un tableau qui vas de A2 jusqu' à CM20
le quatrième onglet un tableau qui vas A2 jusqu' à AE20 .
et le cinquième onglet est une feuille vide .
j'espère que c'est bien cela que vous avez en ouvrant le fichier du poste 6 .
en espérant que cette version nous permette une meilleur base de communication .
je vous remercie de votre patience et je vous assure que fait je mon possible pour vous transmette au mieux mon souci. Amicalement Br44
Bonjour,
Désolé, j'abandonne.
Votre post #13 n'apporte rien de plus.
Tous ceux qui, avant ou après moi, ont ouvert ou ouvriront votre fichier sont a priori capables de mesurer l'étendue des tableaux dans les différentes feuilles et, en dehors de la référence circulaire en B2 de la feuille "SAISIES_CADEAUX", votre fichier .xlsm est parfaitement exploitable.
Ce qui est illisible, c'est l'expression de votre besoin, incompréhensible et non facilitée par une orthographe plus qu'approximative (et je ne parle même pas de votre texte en Feuil1 de votre fichier ! L'avez-vous relu ?).
Votre post #13 ne répond à aucune des questions que j'ai posées en #10 et ne donne aucun éclairage supplémentaire.
Vous ne trouverez pas grand monde sur ce forum pour vous aider tant que vous n'arriverez pas à exprimer clairement votre besoin à la fois par écrit et en indiquant par un exemple dans votre fichier le résultat attendu.
Bon courage !
 
Dernière édition:

br44

XLDnaute Impliqué
Bonjour le forum ,
Se petit message pour vous dire qu'après ses quelques mois de recherche j'ai enfin résolu mon souci . Donc voilà pour faire preuve de solidarité et offrir peut- être une solution je vous transmet mon code il permet d'extraire des donnés spécifique sous condition de couleur de police et de taille de plage . en espérant que cela soit utile.
VB:
 Private Sub CommandButton1_Click()
    Dim ws1 As Worksheet 'feuille 1
    Dim ws3 As Worksheet 'feuille 3
    Dim rng1 As Range 'plage des cellules à vérifier en feuille 1
    Dim rng4 As Range 'plage des cellules à coller en feuille 4
    Dim c As Range 'cellule courante
    Dim i As Long 'indice de ligne
    Dim j As Long 'indice de colonne
    
    Set ws1 = Worksheets("MANQUANT MENSUEL") 'nom de la feuille 1
    Set ws3 = Worksheets("CADEAUX MANQUANTS") 'nom de la feuille 3
    Set rng1 = ws1.Range("B5:BI20") 'à adapter selon la plage des cellules à vérifier en feuille 1
    Set rng4 = ws3.Range("B5:AE5") 'à adapter selon la plage des cellules à coller en feuille 3
    
    For i = 1 To rng1.Rows.Count 'pour chaque ligne de la plage en feuille 1
        If ws1.Cells(i + 4, 1).Font.Color = 0 Or ws1.Cells(i + 4, 1).Font.Color = RGB(30, 30, 206) Or ws1.Cells(i + 4, 1).Font.Color = RGB(255, 204, 153) Then 'ne pas copier les cellules de la colonne A dont la police est rouge ou verte
            If Not IsEmpty(ws1.Cells(i + 4, 1)) Then 'ne pas tenir compte de la couleur de fond des cellules de la colonne A
                j = 1 'initialiser l'indice de colonne à 1
                For Each c In rng1.Rows(i).Cells 'pour chaque cellule de la ligne courante
                    If c.Value = 0 And j <= 30 Then 'si la cellule est égale à 0 et que l'indice de colonne est inférieur ou égal à 30
                        rng4.Cells(i, j).Value = ws1.Cells(4, c.Column).Value 'copier la valeur de la ligne 4 dans la même colonne et la coller dans la feuille 4 à la ligne et colonne correspondantes
                        j = j + 1 'incrémenter l'indice de colonne
                    End If
                Next c
            End If
        End If
    Next i
    
End Sub
merci pour votre patience et désoler si mes explications n'ont pas été suffisamment claire .
Désoler je voudrais mettre le sujet comme "résolu" mais je ne trouve pas la commande pour le faire
 

Discussions similaires

Statistiques des forums

Discussions
312 180
Messages
2 085 995
Membres
103 082
dernier inscrit
adri77