Erreur d'execution 13 incompatibilité de type

46macrocolonnes.zip (7.02 Ko)
46macrocolonnes.zip (7.02 Ko)

bonjour

je débute sur vba pour excel et j'ai un message d'erreur

erreur d'execution 13

incompatibilité de typer

voila ma macro

merci d'avance a l'expert qui pourra me depanner

ps j'ai joint mon fichier

Sub Macro1()

'

' Macro1 Macro

' Macro enregistrée le 30/11/2011 par FRSP

var1 = Sheets("PARAM").Range("debut")

var2 = Sheets("PARAM").Range("FIN")

Columns([var1 : var1]).Select

Selection.Copy

Columns([var2 : var2]).Select

ActiveSheet.Paste

End Sub

Bonsoir,

Pouvez-vous essayer ce qui suit :

Public var1, var2 As Variant
Sub Macro1()
var1 = Sheets("PARAM").Range("debut").Column
var2 = Sheets("PARAM").Range("FIN").Column

Worksheets("PARAM").Columns(var1).Copy
Worksheets("PARAM").Columns(var2).PasteSpecial (xlPasteValues)

End Sub

Cdt

Air_2

bonsoir et merci pour votre réponse

le message d'erreur disparait

mais je n'obtient pas le resultat voulue

j'ai 2 variables

Var1 qui est la colonne que je veux copier soit dans l'exemple la colonne B

Var 2 qui est la colonne de destination soit dans l'exemple la colonne I

la macro s'arrete à la selection de la colonne A !!!

Si vous avez une idée

Cordialement

Bonsoir

la macro s'arrete à la selection de la colonne A !!!

elle s'arrête parce que le nom FIN est défini en colonne A. Vois ton nom FIN et définit le en I

Le code peut être celui-ci

Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 30/11/2011 par FRSPA9C
Dim var1, var2
With Sheets("PARAM")
var1 = .Range("debut").Column
var2 = .Range("FIN").Column
.Columns(var1).Copy .Columns(var2)
End With
End Sub

Si ok, merci de cloturer le fil en cliquant sur le V vert à coté du bouton Editer

Amicalement

cela n'est pas bon

la colonne B ne se copie pas en colonne I

Cordialement

Salut le forum

Sub Macro1()
Dim var1 As String, var2 As String
 With Sheets("PARAM")
  var1 = .Range("debut").Value
  var2 = .Range("FIN").Value
    .Columns(var1).Copy .Columns(var2)
 End With
End Sub

Mytå

Bonsoir

En modifiant légèrement la macro de Dan

Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 30/11/2011 par FRSPA9C
  Dim var1, var2
  With Sheets("PARAM")
    var1 = .Range("debut")
    var2 = .Range("FIN")
    .Columns(var1).Copy .Columns(var2)
  End With
End Sub

Bonsoir,

Si vous essayer la formule suivante, vous comprendrez ce que les maîtres DAN ;Mytå et Banzai64 vous ont dit avec toute la bonne volonté du monde il sera impossible si vous ne modifier pas le nom de vos cellules.

S'il vous plait écrivez dans une cellule de la colonne I :

=Fin

=debut

puis cliquez deux fois sur la cellule vous identifierez d'oû provient le problème.

Remarque : votre cellule A1 porte deux noms depart et debut.

Il vous suffira pour corriger de supprimer les colonnes ainsi les noms disparaîtront également.

Et renommer pour exemple la cellule A 1 par depart et la cellule I 1 arrivée

Pour le code il plus simple de l'écrire sans tenir compte des noms des cellules, ceux-ci ne servent que pour les fonctions natives d'Excel pour les rendre plus lisibles lorsqu'elles sont assez abouties ou pour des créer des listes de choix personnalisés et autres mais je débute également, je ne prendrai donc pas une position ferme sur mes propos ci-dessus..

le code qui selon mon avis très personnel serait le suivant :

'Cas1: pour copier la valeur d'une cellule

Sub Macro1()
With Sheets("param")
.Range("A1").Copy .Range("I1")
End With
End Sub

'ou vous avez une autre possibilite

Sub Macro1()
With Sheets("param")
 .Range("I1") = .Range("A1")
End With
End Sub

'Cas2: pour copier la valeur d'une colonne

Sub Macro2()
With Sheets("param")
.Range("I:I").Copy .Range("A:A")
End With
End Sub

Cdt

Air_2

Rechercher des sujets similaires à "erreur execution incompatibilite type"