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 -
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
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:
- Macro copier-coller une cellule si une autre contient un mot
- Retrouver un copier-coller android - Guide
- Si une cellule contient un mot alors ✓ - Forum Excel
- Comment copier une vidéo youtube - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
14 réponses
Bonjour,
Pas besoin de macro, une simple formule en A2 que vous tirez vers le bas
Selon votre exemple: en A2
Pas besoin de macro, une simple formule en A2 que vous tirez vers le bas
Selon votre exemple: en A2
=SI(C2="Orange";B2;"")
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
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
Bonjour,
Petite question avez-vous vraiment besoin des valeurs de la colonne "A" que vous copier/coller?
Petite question avez-vous vraiment besoin des valeurs de la colonne "A" que vous copier/coller?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Selon vos explications il faut simplement copier en cellule A la cellule B si cellule A est vide !
Selon vos explications il faut simplement copier en cellule A la cellule B si cellule A est vide !
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
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
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
J'ai l'erreur au niveau de :
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
Bonjour,
Eh bien sans connaitre la structure du fichier (Feuille concernée) ,même les miracles sont impossibles.
Eh bien sans connaitre la structure du fichier (Feuille concernée) ,même les miracles sont impossibles.
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
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