Comparaison de feuille référence par référence Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 3 avril 2017, 17:02

:D Il ne manque rien : i est un numéro de ligne, lgn une variable Variant, k le numéro de la dernière colonne (ou puisqu'on commence à A, le nombre de colonnes).
On affecte à lgn : .Range("A" & i).Resize(, k).Value

si i = 2 et k = 211, on lui affecte donc les valeurs de la plage A2:HC2
lgn contiendra un tableau à 2 dimensions, d'indices 1 à 1, et 1 à 211.

Cordialement.
C
Code_Beginner
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 31 mars 2017
Version d'Excel : 2010,2016

Message par Code_Beginner » 3 avril 2017, 20:43

MFerrand a écrit ::D Il ne manque rien : i est un numéro de ligne, lgn une variable Variant, k le numéro de la dernière colonne (ou puisqu'on commence à A, le nombre de colonnes).
On affecte à lgn : .Range("A" & i).Resize(, k).Value

si i = 2 et k = 211, on lui affecte donc les valeurs de la plage A2:HC2
lgn contiendra un tableau à 2 dimensions, d'indices 1 à 1, et 1 à 211.

Cordialement.
Super je comprends mais excel m'indique une erreur sur la ligne ?
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 3 avril 2017, 21:04

Quelle erreur ? Et quelle valeur de i au moment de l'erreur ?
C
Code_Beginner
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 31 mars 2017
Version d'Excel : 2010,2016

Message par Code_Beginner » 3 avril 2017, 21:46

Voici copie de l'écran avec les variables.

Merci encore beaucoup pour votre aide.

A quoi sert resize dans la ligne?
Capture.JPG
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 3 avril 2017, 22:45

On ne voit pas la ligne surlignée, me confirmer que c'est bien celle indiquée précédemment.

Si c'était bien celle-là, on a donc parcouru N jusqu'à la ligne 246. On a inscrit une ligne modifiée depuis le départ. Après comparaison de la ligne 246 de N avec la 247 de N-1, on bloque sur la ligne 247 de N !
L'erreur 424 n'est sûrement pas la bonne, une telle erreur sur cette ligne n'aurait pas attendu qu'on atteigne 247...

Voir le contenu de la ligne 247, également celui de la 246. Voir quelle inscription a été déjà faite et à quelle ligne elle correspondait.
Cela permettra peut-être de trouver des indices, car pour l'instant ! ?
C
Code_Beginner
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 31 mars 2017
Version d'Excel : 2010,2016

Message par Code_Beginner » 4 avril 2017, 15:03

Je confirme.

je vais tenter un comparatif sur une seul ligne avec les colonnes décalées.
On verra si c'est les colonnes ou la ligne incriminées.

J'ai testé en ayant 2 feuilles N et N-1 identiques : pas de soucis (sur 1 ligne )
avec feuille N différent de N-1 : erreur (modif sur feuille N colonne 3) (sur 1 ligne)
Capture écran erreur
Capture écran erreur
Capture erreur.JPG (41.9 Kio) Vu 120 fois
Test report compare_2.xlsm
(25.33 Kio) Téléchargé 16 fois
C
Code_Beginner
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 31 mars 2017
Version d'Excel : 2010,2016

Message par Code_Beginner » 6 avril 2017, 14:19

J'ai beau tourner tout cela dans tout les sens je n'arrive pas à comprendre pourquoi cela bloque.

Un peu d'aide serait la bienvenue.

Merci d'avance.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 6 avril 2017, 15:09

C'est pas la même erreur ça ? On est sur l'affectation !
Erreur 1004 ?
C
Code_Beginner
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 31 mars 2017
Version d'Excel : 2010,2016

Message par Code_Beginner » 6 avril 2017, 15:52

Toujours la même erreur identique à celle de la copie d'ecran
p
patrick1957
Passionné d'Excel
Passionné d'Excel
Messages : 3'159
Appréciations reçues : 31
Inscrit le : 24 août 2015
Version d'Excel : 2007-2010-2016 PC

Message par patrick1957 » 6 avril 2017, 19:03

Bonjour,

j'ai trouvé 2 petites erreurs dans le code: mais je n'ai pas poussé plus loin :)
         If comp <> "" Then
            h = h + 1: comp = Split(comp, ";")
            wsC.Range("A" & h).Resize(, k).Value = lgn     'la feuille est WSC --> nouvelle feuille destination
            For g = 1 To UBound(comp)
               wsC.Cells(h, CDbl(comp(g))).Interior.Color = vbRed     ' comp = "13" par exemple il faut le rendre numérique
               'wsC.Cells(h, comp(g)).Interior.Color = vbRed  '
            Next g
            comp = ""
         End If
      Else


P.
Je fais du géocaching et vous ?
Indentez vos codes VBA, ---> http://www.oaltd.co.uk/Indenter/Default.htm
A lire pour les débutants: http://www.xlerateur.com/divers/2010/05 ... nnees-612/
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message