Copie sous condition
Résolu
dhaze
Messages postés
113
Statut
Membre
-
gbinforme Messages postés 15478 Statut Contributeur -
gbinforme Messages postés 15478 Statut Contributeur -
Bonjour à tous,
Je souhaiterais faire une copie de la colonne F
Vers la colonne "Nom" comme suit:
Mais pas à pas avec une condition et un ajout:
Si la valeur de la cellule à copier est différente de "#"
on la recopie en joutant "_A"
Si la valeur de la cellule à copier est égale à "#"
on recopie la valeur de la cellule juste au-dessus en joutant "_B"
Votre aide serait la bienvenue...
Lo.
Je souhaiterais faire une copie de la colonne F
Vers la colonne "Nom" comme suit:
ActiveSheet.Range(ActiveSheet.Range("F65536").End(xlUp), "F2").Select
Selection.Copy
Rows(1).Find("Nom", LookAt:=xlWhole).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Mais pas à pas avec une condition et un ajout:
Si la valeur de la cellule à copier est différente de "#"
on la recopie en joutant "_A"
Si la valeur de la cellule à copier est égale à "#"
on recopie la valeur de la cellule juste au-dessus en joutant "_B"
Votre aide serait la bienvenue...
Lo.
A voir également:
- Copie sous condition
- Copie cachée - Guide
- Excel cellule couleur si condition texte - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
1 réponse
Bonjour,
Il y a dans ton énoncé quelques bizarreries mais en le respectant, cela doit donner ceci :
Il y a dans ton énoncé quelques bizarreries mais en le respectant, cela doit donner ceci :
Dim col As Integer, lig As Long
With ActiveSheet
col = .Rows(1).Find("Nom", LookAt:=xlWhole).Column
For lig = 2 To .Cells(Rows.Count, "F").End(xlUp).Row
If .Cells(lig, "F") <> "#" Then
.Cells(lig, col) = .Cells(lig, "F") & "_A"
Else
.Cells(lig - 1, col) = .Cells(lig, "F") & "_B"
End If
Next lig
End With
J'avoue que ce n'était pas très clair...
En adaptant ta proposition pour le résultat escompté, voilà ce que ça donne:
Sub Créer_les_noms() Dim col As Integer, lig As Long With ActiveSheet col = .Rows(1).Find("Nom", LookAt:=xlWhole).Column For lig = 2 To .Cells(Rows.Count, "F").End(xlUp).Row If .Cells(lig, "F") <> "#" Then .Cells(lig, col) = .Cells(lig, "F") & "_A" Else .Cells(lig, col) = .Cells(lig - 1, "F") & "_B" End If Next lig End With End SubLa boucle que j'avais entrepris, en plus de ne pas fonctionner,
était beaucoup plus alambiquée que ça...
Ta citation d’Antoine est fort à propos !
Merci encore.
Lo.
Merci du retour, il faut garder l'alambic pour l'extraction des alcools ou essences ! ;-)