Macro copier-coller une cellule si une autre contient un mot

empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais créer une macro qui copie une cellule B dans une autre cellule A si la dernière cellule C contient un mot spécifique.

Je vous joint ce fichier: https://www.cjoint.com/c/LAdqTh8lr7G

Je souhaite une macro car mon fichier réel fait plusieurs centaines de lignes.

Merci d'avance


Configuration: Windows / Firefox 91.0
A voir également:

14 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Pas besoin de macro, une simple formule en A2 que vous tirez vers le bas
Selon votre exemple: en A2
=SI(C2="Orange";B2;"")


0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

En amont de cette fonction, je copie colle des données en A:B ce qui supprime le contenu des cellules en A.

Je voudrais donc une macro qui puisse faire cela.

Merci
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Petite question avez-vous vraiment besoin des valeurs de la colonne "A" que vous copier/coller?
0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Je comprend votre question mais oui on en a vraiment besoin, les valeurs de la colonne A sont "prioritaires".

J'ai refait le fichier, au lieu d'avoir des fruits j'ai mis le choix de la colonne (Date A ou Date B).

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

Je voudrais que si dans la cellule C il est écrit "Date B" alors je copie la cellule B de cette même ligne et la copier dans la cellule A de cette ligne.
Et faire cela en boucle jusqu'à la dernière ligne, c'est la où j'ai vraiment un problème.

Pour la condition je pense que je dois faire (je ne suis pas sur, il est possible qu'il y ai des erreurs):
If cells(lig, 3) = "Date B" Then
cells(lig, 3).Copy
cells(lig, 1).Paste

lig étant la ligne qui boucle.

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Selon vos explications il faut simplement copier en cellule A la cellule B si cellule A est vide !
0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Et bien comment faire cela en macro?
Car si je rentre en A2:
=SI(A2="";B2;A2)
J'ai une référence circulaire donc pas un bon résultat, d'où l'intervention de la cellule C
(Je ne peux pas insérer une nouvelle colonne dans mon fichier réel)
Encore une fois, le fichier réel fait plusieurs centaines de lignes donc je ne vais pas le faire manuellement
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Une solution: https://www.cjoint.com/c/LAeojoVNfxn
0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Super c'est exactement ce qu'il me fallait, merci beaucoup!
0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai un nouveau problème avec ce code, en adaptant la formule à mon fichier réel j'ai le message d'erreur: "Incompatibilité de type"

Voici mon code
Sub adaptercolA()
Dim c As Long
For c = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If Cells(c, 37) = "Ftard" Then
        Cells(c, 9).Value = Cells(c, 36)
    End If
Next c
End Sub


J'ai l'erreur au niveau de :
If Cells(c, 37) = "Ftard" Then
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Eh bien sans connaitre la structure du fichier (Feuille concernée) ,même les miracles sont impossibles.

0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne peux vous montrer les données dans le fichier, mais les données de la colonne 0 (15ème colonne) sont sous forme de texte, donc je pense que l'erreur vient surement de la

Voici le code entier

Sub PreOCA()
Sheets("PreOCA").Select
Range("A2:U2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Sheets("Calcul S").Select
For li = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False

    If Cells(li, 15).Value = "Décaler" Then
        Rows(li).Copy
        Sheets("PreOCA").Select
        Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Sheets("Calcul S").Activate
    End If
    If Cells(li, 15).Value = "Avancer" Then
        Rows(li).Copy
        Sheets("PreOCA").Select
        Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Sheets("Calcul S").Activate
    End If
    If Cells(li, 15) = "Stade Bord" Then
        Rows(li).Copy
        Sheets("PreOCA").Select
        Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Sheets("Calcul S").Activate
    End If
Next li
Application.ScreenUpdating = True
Sheets("PreOCA").Select
Range("M2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Range("J2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Ce code n'a aucune relation avec la question du poste 9, désolé je ne peux rien proposer.
0
empereurtilleul Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Les deux codes ont la même structure mais bref

Au niveau de
If Cells(li, 15).Value = "Décaler" Then
je reçois une erreur "Incompatibilité de type"
Je suppose que l'erreur vient du fait que les données de la colonne O (15ème colonne) viennent d'une recherchev
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Mais bref, pas de réponse.

0