Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recopier valeurs si différent de #N/A en VBA

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

aubelix

XLDnaute Impliqué
Bonjour à tous les amis du Forum.
Je reviens vers vous un fois de plus pour vous demander de l'aide.
Je voudrais recopier en VBA des valeurs en fonction du contenu de la cellule.
(Voir fichier joint)
Copier la date de B2 à Bxx dans la cellule M2 à Mxx en VBA
Si la Date = "#N/A", ne rien copier, passer à la ligne en dessous
Si la Date est une date, la copier dans cellule M correspondante
Le tableau est à géométrie variable, plus ou moins de cellules
La présentation des lignes est toujours la même

Par avance, Merci.
Cordialement.
 

Pièces jointes

Re : Recopier valeurs si différent de #N/A en VBA

Bonjour Aubelix

si j'ai bien compris :

Code:
Option Explicit
Sub test()
Dim c As Range
For Each c In Range("B2:B" & Range("B65536").End(xlUp).Row)
    If Not IsError(c) Then c.Offset(0, 11).Value = c.Value
Next c
End Sub

bon après midi
@+
 
Re : Recopier valeurs si différent de #N/A en VBA

Bonjour à tous les amis du Forum. 🙂

Après une utilisation soutenue, un cas de figure se présente à moi.
Aussi, je reviens vers vous, pour vous soumettre le problème.

Si la Date = "#N/A" ET si dans la celulle correspondante en colonne W contient la valeur "S/T ABC", ne rien copier, passer à la ligne en dessous
sinon recopier la valeur même si c'est "#N/A"
(C'est le cas de figure). Car la valeur dans la colonne Num n'est pas troivé.

Par avance, Merci pour votre aide.
Cordialement.
 

Pièces jointes

Re : Recopier valeurs si différent de #N/A en VBA

Bonjour,

pas sur d'avoir bien compris.... dans quels cas la copie doit-elle se faire ??? regarde le code ci-dessous, en jouant avec les "not", et / ou les "and" et "or" tu devrais pouvoir arriver à la solution :

Code:
Option Explicit
Sub test()
Dim c As Range
For Each c In Range("B2:B" & Range("B65536").End(xlUp).Row)
    If Not IsError(c) And Not c.Offset(0, 21).Value = "S/T ABC" Then c.Offset(0, 11).Value = c.Value
Next c
End Sub

bon après midi
@+
 
Re : Recopier valeurs si différent de #N/A en VBA

Bonjour Pieerot93 🙂

Merci pour ta réponse.
Je me suis mal exprimé, mais avec ton code, j'ai réussi à obtenir
ce que je voulais.
If c.Offset(0, 21).Value <> "S/T ABC" Then c.Offset(0, 11).Value = c.Value

Une autre question :
Comment peut-on ignorer un message lors de la création de nom ?
Car je me sers de la même feuille pour faire mes Mises à jour et le
nom exite déja.
Voici mon code et je ne voudrai pas avoir à répondre pour écrase le nom.

'Création nom: "Début_DIA"
Range("G1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:= _
False



Par avance Merci.
Cordialement.
 
Re : Recopier valeurs si différent de #N/A en VBA

Re

essaye ainsi :

Code:
Application.DisplayAlerts = False
Selection.CreateNames Top:=True
Application.DisplayAlerts = True

bonne fin d'après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…