VBC excel 2007
qidikizzy
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
La référence de mes formules change toute seule, je ne sais pas pourquoi.
En effet, j'ai une feuille de calcul de la colonne A à X. Les colonnes A à J sont une base de données qui se fait automatiquement par mon macro de copier-coller à partir des autres fichiers. Les colonnes K à X sont les calcules effectués à partir de cette base de données. Par exemple : K2 est un résultat de calcule de A2.
Le problème vient quand je relance le macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
Merci d'avance.
La référence de mes formules change toute seule, je ne sais pas pourquoi.
En effet, j'ai une feuille de calcul de la colonne A à X. Les colonnes A à J sont une base de données qui se fait automatiquement par mon macro de copier-coller à partir des autres fichiers. Les colonnes K à X sont les calcules effectués à partir de cette base de données. Par exemple : K2 est un résultat de calcule de A2.
Le problème vient quand je relance le macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
Merci d'avance.
A voir également:
- VBC excel 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
Le problème vient quand je relance la macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
1) le problème vient donc de ta macro copier/coller (il y a sans doute une insertion de colonne et cela affecte
la formule.
Sans voir la macros difficile à dire ce qui se passe exactement.
2) je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne)
( mais tu peux l'écrire dans la macro.... ) En utilisant l'enregistreur de macro .
Cela aurait quelques avantages - risque d'oubli,d'erreurs,et sauvegarde de la formule.
Avec plus de précision sur ta macro quelqu'un t'en diras plus.
Le problème vient quand je relance la macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
1) le problème vient donc de ta macro copier/coller (il y a sans doute une insertion de colonne et cela affecte
la formule.
Sans voir la macros difficile à dire ce qui se passe exactement.
2) je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne)
( mais tu peux l'écrire dans la macro.... ) En utilisant l'enregistreur de macro .
Cela aurait quelques avantages - risque d'oubli,d'erreurs,et sauvegarde de la formule.
Avec plus de précision sur ta macro quelqu'un t'en diras plus.
Voilà une proposition.... on peut améliorer
mais je souhaite que tu comprennes
Sub test()
Windows("CHEVALIER STEPHANE.xlsm").Activate
Sheets("Saisie").Select ' on sélectionne la feuille Saisie
derlig1 = Range("Saisie!A1048576").End(xlUp).Row ' On enregistre le n° de la dernière ligne
Range("A3:j" & derlig1).Select ' on selectionne une plage A à J ... c'est là le premier problème
Selection.Copy
Windows("Patrick.xlsm").Activate ' on va sur le deuxième classeur
Sheets("base de donnees").Select ' on se place sur la feuille sur la cellule A2
' Là tu faisait une insertion de la plage A:J
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select On va au bout de la base
' de cette manière on ne touche pas aux formules
Selection.Insert Shift:=xlDown ' ici on insère la plage A:J
' Ici tu peux Recopier les formules déjà présente sur la feuille ou le faire à la main
' puis faire le tri sur A:J on ne touche pas au reste
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
A+ si besoin tu dis.
mais je souhaite que tu comprennes
Sub test()
Windows("CHEVALIER STEPHANE.xlsm").Activate
Sheets("Saisie").Select ' on sélectionne la feuille Saisie
derlig1 = Range("Saisie!A1048576").End(xlUp).Row ' On enregistre le n° de la dernière ligne
Range("A3:j" & derlig1).Select ' on selectionne une plage A à J ... c'est là le premier problème
Selection.Copy
Windows("Patrick.xlsm").Activate ' on va sur le deuxième classeur
Sheets("base de donnees").Select ' on se place sur la feuille sur la cellule A2
' Là tu faisait une insertion de la plage A:J
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select On va au bout de la base
' de cette manière on ne touche pas aux formules
Selection.Insert Shift:=xlDown ' ici on insère la plage A:J
' Ici tu peux Recopier les formules déjà présente sur la feuille ou le faire à la main
' puis faire le tri sur A:J on ne touche pas au reste
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
A+ si besoin tu dis.
Dim derlig1 As Long
Windows("CHEVALIER STEPHANE.xlsm").Activate
derlig1 = Range("Saisie!A1048576").End(xlUp).Row
Sheets("Saisie").Select
Range("A3:J" & derlig1).Select
Selection.Copy
Windows("Patrick.xlsm").Activate
Sheets("base de donnees").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Je n'arrive pas à voir où est le problème. Si qq'un a une idée, ne pas hésiter de laisser un massage.
Merci d'avance.