Macro pour modifier en-tête + contenu d'un classeur excel choisi
Résolu
xGunner
Messages postés
30
Statut
Membre
-
xGunner Messages postés 30 Statut Membre -
xGunner Messages postés 30 Statut Membre -
Bonjour, je travail actuellement sur un fichier avec macro qui me permettrait de modifier un classeur choisi par l'utilisateur (modification en-tête de colonnes + ajout de colonnes)
Voici mon code :
Il renomme des en-têtes de colonnes et ajoute un -D à la suite de la Ref Fabricant
Mon souci principal est qu'il me retourne une erreur :
"Erreur d'exécution '13':
Incompatibilité de type"
Dans un premier temps j'aimerai comprendre cette erreur et la corriger
Puis dans un second temps j'aurais besoin de votre aide pour que ces modifications s'applique à un autre classeur Excel qui serait choisi par l'utilisateur.
Merci d'avance pour votre aide
Voici mon code :
Sub MiseEnForme()
'Mise en forme des entêtes :
If Range("A1") = "cond." Then: Range("A1").Value = "COLISAGE"
If Range("B1") = "code fab." Then: Range("B1").Value = "REF_FAB"
If Range("C1") = "désignation" Then: Range("C1").Value = "DESIGNATION"
If Range("F1") = "prix total" Then: Range("F1").Value = "PRIX_ACHAT"
If Range("G1") = "hiérarchie Niveau 2" Then: Range("G1").Value = "FAMILLE"
If Range("H1") = "hiérarchie Niveau 3" Then: Range("H1").Value = "SS_FAMILLE"
'ajout du -D aux réf :
Application.ScreenUpdating = False
If Right(Range("B2").Value, 2) = "-D" Then
MsgBox ("ATTENTION : cette action a déjà été effectué dans cette table (vérifier cellule B2 = *-D)")
Else:
Dim cell As Range
For Each cell In Range("B2:B50000")
cell.Value = cell.Value + "-D"
Next cell
End If
'Vérification des étapes :
If Range("A1") = "COLISAGE" And Range("B1") = "REF_FAB" _
And Range("C1") = "DESIGNATION" And Range("F1") = "PRIX_ACHAT" _
And Range("G1") = "FAMILLE" And Range("H1") = "SS_FAMILLE" _
And Right(Range("B2").Value, 2) = "-D" _
Then: Range("R1").Value = "OK, aucun problème"
End Sub
Il renomme des en-têtes de colonnes et ajoute un -D à la suite de la Ref Fabricant
Mon souci principal est qu'il me retourne une erreur :
"Erreur d'exécution '13':
Incompatibilité de type"
Dans un premier temps j'aimerai comprendre cette erreur et la corriger
Puis dans un second temps j'aurais besoin de votre aide pour que ces modifications s'applique à un autre classeur Excel qui serait choisi par l'utilisateur.
Merci d'avance pour votre aide
A voir également:
- Macro pour modifier en-tête + contenu d'un classeur excel choisi
- Modifier liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Modifier dns - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Mise en forme conditionnelle excel - Guide
2 réponses
Bonjour,
'il me retourne une erreur : "Erreur d'exécution '13':
C'est les types de données qui sont incompatibles mais sur quelle ligne as-tu l'erreur ?
Si c'est
il faut remplacer + par & car + fait un calcul et "-D" est du texte.
'il me retourne une erreur : "Erreur d'exécution '13':
C'est les types de données qui sont incompatibles mais sur quelle ligne as-tu l'erreur ?
Si c'est
cell.Value = cell.Value + "-D"
il faut remplacer + par & car + fait un calcul et "-D" est du texte.
xGunner
Messages postés
30
Statut
Membre
Super c'était ça (l'habitude du C# à mettre des +) merci beaucoup mon erreur est résolu
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonsoir, dans un premier temps, peux-tu indiquer sur quelle ligne l'erreur se produit?
dans un second temps, je suggère de réécrire la ligne 24:
dans un second temps, je suggère de réécrire la ligne 24:
cell.Value = cstr(cell.Value) + "-D"