Bonjour,
Je travaille sur Excel 2010 avec un tableau croisé dynamique. Une des colonne représente l'identifiant de chaque objet (1,2,3 ... 1039, 1040...). Voici un exemple réduit du tableau en question :
Grace au VBA j'aimerais que les lignes sans ID soient incrémentées à partir de la plus grande valeur des ID déjà présents dans le tableau. De plus je souhaite travailler avec le nom de la colonne du tableau et pas MAX ("B1" & "B5") car des colonnes ou lignes peuvent être ajoutées.
J'ai déjà essayé ceci mais ça m'indique que la méthode du range global a échoué, en effet il veut des coordonnées de cellules pour définir myrange mais je n'arrive pas à les récupérer...
'on passe sur toutes les cellules de la colonne ID du tableau 1
For Each cell In Range("Tableau1[ID]")
'si la valeur d'une cellule est vide
If cell.Value = "" Then
'on compte le nombre de lignes du tableau 1
DL = Range("Tableau1").Rows.Count
'on définit la variable myrange comme étant la colonne ID (de la première à la dernière ligne)
Set myrange = Range(Range("Tableau1[ID]")(1) & Range("Tableau1[ID]")(DL)) '''''!!!SUR CETTE LIGNE ERREUR
'on trouve la valeur maximale du range définit juste avant
lemax = Application.WorksheetFunction.Max(myrange)
'on met dans la cellule de départ la valeur maximale + 1
cell.Value = lemax + 1
End If
'on passe à la cellule suivante
Next
Merci d'avance pour votre aide
Bonne journée !