Compatibilité VBA

Bonjour à tous,

j'ai une petite question concernant VBA.

J'ai créer une macro sur 2010 qui fonctionne tres bien, mais mon service informatique a migré mon pack office 2010 en 2013, du coup, ma macro me donne un message d'erreur.

Je voudrais savoir si le fait d'avoir créer une macro en 2010 pouvait ne plus fonctionné en 2013 ... ça me parait pas logique, car je monte de version, donc forcement j'ai les fonctionnalités de 2010 et les rajouts pour 2013. Ou me trompes-je ?

Merci pour votre aide et éclaircissement

Laurent

Bonjour

Non il y a très peu de différence en 2010 et 2013 mais si tu fais appel à une library (référence) il faut effectivement prendre celle de 2013

Bonjour Laurent,

Je peux me tromper, mais des fois lorsqu'il y a des mise à jours de logiciels, certaines fonctions peuvent changer sur certains points (améliorées tout de même) et donc provoquer une erreur dans un ancien programme.

Est-ce que tu peux nous mettre cette macro en lien pour voir d'où vient le problème ?

Bonjour à vous deux,

merci pour votre aide ...

alors il m'est super difficile de vous donner le fichier car, cette macro fait partie d'un fichier (fichier 1) qui va controler des infos dans un autre fichier (fichier 2).

Dans le fichier 1, il y a plusieurs macros dont celle qui me pose problème.

en revanche, je vous ai copié la macro, peut etre que vous pourrez trouver grace à ça...

[quote][/Sub StepDS2()

Application.DisplayAlerts = False

Application.ScreenUpdating = False

ActiveSheet.UsedRange.Rows(4).Select

For Each LaCell In Selection.Cells

If LaCell = "Country" And LaCell.Column > 1 Then

Columns(LaCell.Column).Cut

Columns(1).Insert Shift:=xlToRight

End If

Next

For Each LaCell In Selection.Cells

If LaCell = "M (Yes)" Then NberFields = NberFields + 1

Next

ActiveSheet.UsedRange.Rows(2).Copy

' Update Raw Data (1) workbook

RawData.Activate

ActiveSheet.Cells(2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

' Update "Quality Dashboard 1" workbook

QD1.Activate

ActiveSheet.Cells(2, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.Goto Reference:="Number_of_Fields_Qced"

ActiveCell = NberFields

Application.DisplayAlerts = True

Application.ScreenUpdating = True

MsgBox ("Task Completed")

Instructions.Select

End Subquote]

Merci encore une fois pour votre aide

Laurent

Re

Rien de spécifique

Quelle est la ligne qui donne l'erreur et quelle erreur ?

c'est sur la ligne écrit en rouge

Sub StepDS2()

Application.DisplayAlerts = False

Application.ScreenUpdating = False

ActiveSheet.UsedRange.Rows(4).Select

For Each LaCell In Selection.Cells

If LaCell = "Country" And LaCell.Column > 1 Then

Columns(LaCell.Column).Cut

Columns(1).Insert Shift:=xlToRight

End If

Next

For Each LaCell In Selection.Cells

If LaCell = "M (Yes)" Then NberFields = NberFields + 1

Next

ActiveSheet.UsedRange.Rows(2).Copy

' Update Raw Data (1) workbook

RawData.Activate

ActiveSheet.Cells(2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

' Update "Quality Dashboard 1" workbook

QD1.Activate

ActiveSheet.Cells(2, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.Goto Reference:="Number_of_Fields_Qced"

ActiveCell = NberFields

Application.DisplayAlerts = True

Application.ScreenUpdating = True

MsgBox ("Task Completed")

Instructions.Select

End Sub

et le message d'erreur est

capture

Re

La colonne 1 doit avoir une configuration particulière....

Sans le fichier...

voici le fichier, en esperant que tu puisse t'en servir ... car il faut executer des macros avant de faire celle-ci.

J'ai sauvegardé le fichier en ayant executer toutes les macros précédentes, tu n'as plus qu'a clicker sur le bouton "Validate Fields" dans l'onglet " Mapping"

Merci pour ton aide

Bonjour, Chris, bonjour Laurent.

Sur ton fichier test je n'ai aucun message d'erreur de mon coté ( sur un excel 2013 aussi )

Bonjour à tous,

bon je viens de refaire mes manips, et Ho surprise, cette fois, je n'ai pas de message d'erreur

Du coup, j'ai recommencé ma manip plusieurs fois, et plus de message d'erreur, jusqu'au moment où je l'ai refait en laissant un fichier excel ouvert, et là, re-message d'erreur ...

je pense que j'ai compris, il faut que tous les fichiers inutiles soient fermés et que je ne conserve que les fichiers que j'ai besoin pour le déroulement de ma macro ... du coup, le problème est résolu ...

En tout cas, merci a vous deux, 78chris et Xmenpl, pour votre aide !!!!

Bonjour à tous

Il faut surtout que tu apprennes à préciser dans ton code le classeur et la feuille concernés si le code n'est pas dans le module de la feuille elle-même.

ok je vais le noter pour m'en rappeler pour les prochaines fois.

Encore merci

Rechercher des sujets similaires à "compatibilite vba"