Bonjour,
Avant tout, je vous souhaite une belle année 2021 !
J'ai une erreur '1004' à l'appel de la macro transpose_donnees du classeur Tranposition_de_donnees, qui fonctionnait très bien jusqu'à présent.
Comme son nom l'indique, elle permet de transposer un grand nombre de données.
Sub transpose_donnees()
Dim adresse_plage_valeurs As String
If (Interface_Copie.adresse_valeurs.Value = "") Then
'Recherche automatique de la zone à transposer
Sheets("Initial").Select
derniere_ligne = recherche_derniere_ligne(feuille:="Initial", colonne:=8)
derniere_colonne = recherche_derniere_colonne(feuille:="Initial", ligne:=1)
adresse_plage_valeurs = Range(Cells(2, 9), Cells(derniere_ligne, derniere_colonne)).AddressLocal
Else
adresse_plage_valeurs = valeur_plage_sur_IHM
End If
concatenation_colonnes adresse_plage_valeurs:=(adresse_plage_valeurs)
Quitter_interface
End Sub
Sub concatenation_colonnes(adresse_plage_valeurs As String)
Dim colonne_date As Long
Application.ScreenUpdating = False
feuille_blanche nom_feuille:="Initial"
'Initialisation des variables
Set plage_valeurs = Sheets("Initial").Range(adresse_plage_valeurs)
derniere_colonne_bloc = plage_valeurs.Item(1).Column - 1
derniere_colonne_valeurs = plage_valeurs.Item(plage_valeurs.Count).Column
lettre_derniere_colonne_bloc = LettreColonne((derniere_colonne_bloc))
derniere_colonne_en_lettre = LettreColonne((derniere_colonne_valeurs))
nb_lignes_bloc = plage_valeurs.Item(plage_valeurs.Count).Row - 1
nb_colonnes_bloc = derniere_colonne_bloc
'Création du bloc de données invariable qui sera reproduit autant de fois qu'il y a de dates
creation_bloc lettre_derniere_colonne_bloc:=(lettre_derniere_colonne_bloc), nb_lignes_bloc:=(nb_lignes_bloc)
mise_en_forme_onglet_final lettre_derniere_colonne_bloc:=(lettre_derniere_colonne_bloc), nb_colonnes_bloc:=(nb_colonnes_bloc)
'Visualisation avant procédure
For colonne_date = (derniere_colonne_bloc + 1) To derniere_colonne_valeurs
copie_bloc_date colonne_date:=(colonne_date), nb_lignes_bloc:=(nb_lignes_bloc), nb_colonnes_bloc:=(nb_colonnes_bloc), derniere_colonne_bloc:=(derniere_colonne_bloc)
Next
'MsgBox ("Procédure terminée")
Application.ScreenUpdating = True
End Sub
Function LettreColonne(c As Integer)
LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2))
End Function
L'erreur d'exécution '1004' se produit sur la ligne de code surligné et après plusieurs recherches sur le web, je ne trouve pas de solution.
Je vous remercie par avance pour votre aide.
Hâte de lire vos réponses.