VBA excel : Copier Coller la cellule et la cellule de la premier colonne si une condition est respectée

  • Auteur de la discussion ALEXENDER III
  • Date de début

ALEXENDER III

Nouveau membre
#1
Bonjour,
Je vous sollicite car je fais face à un blocage.
L'idée est qu'a partir d'une date sous forme "JJ/MM/AAAA" écrite dans la cellule A2, une macro cherche la colonne corresponde à JJ entre C1 et AG1. Par exemple colonne P.
A ce stade, la macro balaye la colonne et a chaque fois qu'elle trouve un chiffre > 70, copie la cellule de la colonne P et de la colonne A (qui correspond au titre de la valeur) et les colle dans une deuxième feuille dans la colonne A et B sans sauter de ligne.

j'ai un petit bout de code mais qui me prend toute la colonne.

Code:
Sub copie_colle()
    Dim cel As Range         
    Dim source As Range       
    Worksheets("SAP").UsedRange.Clear                       
    Set source = Sheets("FA").Range("A1:AG122").EntireRow

    With Sheets("FA") 
        For Each cel In .Range("c3:c" & .Range("c" & .Rows.Count).End(xlUp).Row)
            If cel.MergeCells Then
                Set source = Union(source, cel.MergeArea.EntireRow)
            ElseIf cel.Value >= 70 Then
                Set source = Union(source, cel.EntireRow)
            End If
         Next
    End With
    
    source.Copy Worksheets("SAP").Range("A1")
    Worksheets("FA").Activate
    Worksheets("FA").Range("A1").Select 

End Sub
Je vous remercie.
 
Dernière édition:

drul

Obscur pro du hardware
Staff
#2
Salut,
ça vient d'ou cette macro ???
Je ne vois que très peu de rapport entre elle et ce que tu cherches à faire ...
Pourquoi 70 ?
Pourquoi la boucle cherche t'elle uniquement dans la colonne C ?
Pourquoi tu copies les celulles "merger" ? (en as tu d'ailleurs ?)

Bref c'est pas un très bon départ ...

L'utilisation de union est à mon avis à éviter ici, Excel ne parvenant pas à copier des cellules non contiguë.
 

ALEXENDER III

Nouveau membre
#3
Salut !
la macro vient d'une discussion sur ce site qui date de 2016.
Le 70 est un simple exemple pour mettre une condition (ca peut être >0). En fait, je suis sur un fichier dans lequel j'ai des données remontées automatiquement d'un système siemens que je veux ressaisir dans un autre système ! Le but de la macro est de préparer les données a basculer. (Je sais pas si je suis clair, j'essaie).
La boucle cherche uniquement dans la colonne C pour l'instant car j'essaie d'abord de faire une macro qui marche pour ce cas dans un premier temps, puis intégrer la partie qui compare JJ aux valeurs dans les cellules entre C1 et AG1. (a mon niveau ca me semble compliqué à faire d'un coup, j'essaie d'aller étape par étape).
Non je n'ai pas de cellules "merger".

Je m'en doutais bien que c'étais pas un bon départ :p ! Pourriez vous m'aider à restructurer tout ca s'il vous plait ?
 

drul

Obscur pro du hardware
Staff
#4
Alors en l'occurence fait du copier-coller cellule à cellule,
Ce que je ne comprends pas c'est quel donnée tu veux reprendre dans ta deuxième et sous quel format ...

Un petit exemple avec deux print screen aiderais bien ...
 

ALEXENDER III

Nouveau membre
#5
Voila, mon fichier s'organise comme ca.
1619004596878.png
si j'indique que je veux extraire les données du 05/05/2021
je souhaite que ma deuxième feuille s'organise comme ça.
1619005283538.png

Est ce que c'est plus clair ?
 
Appréciations: drul

drul

Obscur pro du hardware
Staff
#6
Ok,
Tu es conscient que c'est faisable sans macro ?
 

ALEXENDER III

Nouveau membre
#7
ah bon ? non je sais pas
Pourriez vous m'en dire plus s'il vous plait ?
 

ALEXENDER III

Nouveau membre
#9
En fait, j'ai du mal a imaginer comment il peut lire la date inscrite pour trouver la colonne correspondante dans laquelle il doit chercher des informations.
Un exemple, si je veux voir le 05 ou 07 je vais pas avoir la mêmes choses affichées.

Voir la pièce jointe 12218
 
Dernière édition:

drul

Obscur pro du hardware
Staff
#10
Question pourquoi en A2 tu mets la date complète et pas juste le jour, comme dans ton tableau source ?

Tu as excel en français ?
 

ALEXENDER III

Nouveau membre
#11
Je ne suis pas obligé de mettre la date complète, je croyais que c'étais simple d'extraire la partie JJ d'une date.
Cette feule va être utilisée par des personnes qui ne ne sont pas à l'aise avec Excel. j'essaie de simplifier cette feuille au mieux pour eux
 

ALEXENDER III

Nouveau membre
#13
D'accord, merci !
du coup pour avoir le titre correspondant à chaque valeur j'ai essaye dans A7 : =RechercheV(B7;FA!A1:T31;1;FAUX) mais ca m'affiche l'erreur :une valeur n'est pas disponible pour la formule ou la fonction
 

drul

Obscur pro du hardware
Staff
#14
Pas bien compris ce que tu essaies de faire là ...
 

ALEXENDER III

Nouveau membre
#15
Bonjour,
Ce que j'ai renseigné dans la case B7 me permet d'avoir ce qui est surligné en jaune.
Maintenant j'essaie d'avoir ce qui est entouré en rouge.
1619080002481.png
J'ai l'impression de vous avoir mal expliqué ce que j'essaie de faire, puis je vous réexpliquer à nouveau, autrement ?
Merci
 

drul

Obscur pro du hardware
Staff
#16
Le tutoyement est de rigueur ici ;)
Pourquoi pas simplement "=FA!A3" ? tu connais ligne et colonne, donc va chercher en direct ...
Le plus simple est souvent le meilleur ...
 

ALEXENDER III

Nouveau membre
#17
Oups ! Okkay !!
Justement je ne suis pas sensé connaitre la ligne ! 1619162508331.png
Résultat :
1619163391484.png

Je veux qu'il me copie que les cellules pleines de la colonne du "jour" et leurs descriptions respectives.
Merci :D
 

drul

Obscur pro du hardware
Staff
#18
Aaaaaahhh tu rajoutes une condition, si les cellules doivent en plus être non vide, ça complique forcément.

Je pensais que tu voulais récupérer toutes les données (ou en tous cas des données fixe) pour un jour, même si c'était vide.
Tu me confirme qu7e c'est bien ça ? tu peux me faire l'exemple ci dessus pour le jour d'avant ?
 

ALEXENDER III

Nouveau membre
#19
Ouiiiiiiiiiiii c'est ca !
Je ne veux pas récupérer toutes les données ni des données fixes, je veux récupérer les données des cellules non vides.
Voici l'exemple pour le jour d'avant
1619171189902.png
C'est pour ca qu'une macro me semblait inévitable...
 

drul

Obscur pro du hardware
Staff
#20
Ouais là ça complique en effet, désolé j'avais mal compris ...

La macro sera en effet le plus simple, (ça doit être possible des fomules, mais ça deviens trop complexe.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Membres en ligne
  • labul671
Derniers messages publiés
Statistiques globales
Discussions
839 000
Messages
7 505 755
Membres
1 584 053
Dernier membre
Extradope23
Partager cette page
Haut