Formule VBA - Données effacées

Bonjour,

J'ai une macro me permettant d'incrémenter des données automatiquement, sauf que lorsque je l'exécute celle-ci m'efface toutes les données de mon fichier

Sub INCREMENTATION_NC()
Dim i As Integer, j As Integer
Range("AC" & Rows.Count).ClearContents
With Sheets("BASE DE DONNEES")
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To Range("A" & Rows.Count).End(xlUp).Row
If .Range("BM" & i) & .Range("BN" & i) & .Range("BO" & i) = Range("A" & j) & Range("B" & j) & Range("C" & j) Then
If Range("AC" & j) = "" Then
Range("AC" & j) = .Range("A" & i)
Else
Range("AC" & j) = Range("AC" & j) & " / " & .Range("A" & i)
End If

End If
Next j
Next i
End With

End Sub

Sub INCREMENTATION()
'
' INCREMENTATION Macro
'

'
Columns("AC:AC").Select
Selection.ClearContents
Range("AC1").Select
End Sub

C'est peut-être cette écriture la qui engendre cela mais je ne sais comment le rétablir

Range("AC" & Rows.Count).ClearContents

Vous en remerciant par avance pour aide précieuse

ApprentieQualité

Bonjour,

Vous avez plusieurs ligne de code qui efface les données, mais il faudrait nous dire à quoi elles servent, ou éventuellement nous joindre un fichier avec le comportement attendu. Quelle est la macro qui est activée ? Car il y en a deux dans votre sujet. Pourquoi effacer les données de la colonne AC ?

Avec un fichier ce serait plus simple.

Cdlt,

Merci pour ce retour,

Je pense savoir d'où vient le problème :

J'ai deux macro activées car j'aimerai en premier temps effacer les données déjà identifiées (Etape 1) et en Etape 2 réincrémenter les données lorsque qu'il y a une mise à jour

Donc en premier lieu j'efface les données N-1 pour ensuite incrémenter les données N+1et N-1 du coup sans qu'il y ait de doublons (Tout ce passe en AC)

En effet ma macro fonctionne correctement :

capture

Mais lorsque je souhaite insérer une ligne tout en haut en fusionnant et centrant (comme ci dessous surligné en jaune ) et ensuite que je lance ma macro en cliquant sur l'ETAPE 1 et ensuite sur l'ETAPE 2
cela efface complétement les données des colonnes AD à AN

image

Je sais que cela vient du rajout de ligne en fusionnant mais je ne sais pas comment y remédier

Vous en remerciant par avance

ApprentieQualité

Bonjour,

Honnêtement je n'ai pas tout compris et c'est très compliqué sans fichier.

Comme vous semblez ne pas avoir de soucis sans l'insertion de la ligne 1 (je ne connais pas la raison de cette insertion), remplacez i= 2 et j=2 par i=3 et j=3, dans cette configuration ça devrait de nouveau fonctionner.

Cdlt,

J'ai testé en remplaçant 2 par 3 mais cela ne fonctionne pas

Vous trouverez ci-joint le fichier peut-être cela sera plus parlant

Merci beaucoup

Bonjour,

Un test avec un code plus allégé. Je ne vois pas l'intérêt de nettoyer AC via l'étape 2.

Sub INCREMENTATION_NC()
Dim i%, j%, LR_BDD%, LR_ANA%
With Sheets("BASE DE DONNEES")
LR_BDD = .Range("A" & Rows.Count).End(xlUp).Row
LR_ANA = Range("A" & Rows.Count).End(xlUp).Row
Range("AC3:AC" & LR_ANA).ClearContents
For i = 2 To LR_BDD
    For j = 3 To LR_ANA
        If .Range("BM" & i) & .Range("BN" & i) & .Range("BO" & i) = Range("A" & j) & Range("B" & j) & Range("C" & j) Then
            If IsEmpty(Range("AC" & j)) Then
                Range("AC" & j) = .Range("A" & i)
                Else
                Range("AC" & j) = Range("AC" & j) & " / " & .Range("A" & i)
            End If
        End If
    Next j
Next i
End With
End Sub

Si ça ne correspond pas il va falloir expliquer comment le fichier doit fonctionner.

Cdlt,

Bonjour

Merci pour ce retour,

J'ai testé avec votre réponse mais cela ne fonctionne pas

Fonctionnement :

J'ai une base de données de scénarii qui se met à jour régulièrement donc pour ne pas avoir de doublons avec l'ancienne mise à jour et la nouvelle mise à jour je procède de la façon suivante :

Lorsqu'il y a une mise à jour :

1.Je nettoie AC en ETAPE 1 (actuellement l'ancienne mise à jour)

2. En ETAPE 2 j'insérer les données de ma base de données ( l'ancienne et la nouvelle mise à jour s'incrémentent, je suis donc obligée d'effacer AC en premier lieu sinon j'aurais deux fois les même données)

J'efface AC en étape 1 pour ne pas avoir de doublons car si je n'efface pas AC en étape 2 j'aurai plusieurs fois les même données or ce n'est pas le but du fichier

En soit le souci est que lorsque je rajoute une ligne en haut de mon fichier et que j'active ma macro toutes les données s'effacent

Je ne sais pas d'où cela provient

Merci pour votre aide

Bonjour,

Je ne comprend pas ce qui ne va pas dans le fichier joint à ce message.

Les données en colonne AC sont bien effacées avant d'être incrémentées pour mise à jour sans doublon.

Désolé mais merci de m'indiquer quelle est la manipulation réalisée qui amène à un résultat éronné et quel est le résultat attendu.

Cdlt,

Rechercher des sujets similaires à "formule vba donnees effacees"