OVH Cloud OVH Cloud

Current Region moins 1ere ligne?

3 réponses
Avatar
Christophe Joly
Bonsoir:

J'utilise une macro complémentaire qui permet de rentrer des donnees dans
une feuille de plus de 32 colonnes a l'aide d'un formulaire puisque le
formulaire integre a Excel n'accepte pas plus de 32 champs.

Le problème que je rencontre est que cette macro complementaire assume que
les noms des champs sont dans les cellules de la ligne 1 or dans mon cas les
noms des champs sont dans les cellules de la ligne 2.
Si dessous, les elements de la macro qui me semblent pertinents mais peut
etre c'est plus compliqué que ce que je pense.
Comment dois-je modifier cette macro complementaire afin que cela soit pris
en compte?

Merci. Christophe

MODULE
...
' Create a Range variable for the database
Set DatabaseRange = ActiveCell.CurrentRegion
...

USERFORM
...
'Determine the offsets (important if the database does not begin in A1)
RowOffset = DatabaseRange.Rows(1).Row
ColumnOffset = DatabaseRange.Columns(1).Column - 1

'Determine the size of the database
RecordCount = DatabaseRange.Rows.Count - 1 'First row is assumed to be
labels
FieldCount = DatabaseRange.Columns.Count
...

3 réponses

Avatar
michdenis
Bonjour Christophe,

Bien que je n'ai pas saisi comment tu disposes tes données....

J'ai ajouté un objet Data de type range, pour éviter d'avoir une ligne de code trop longue (difficile à lire !)

Dim Data As Range
Set Data = ActiveCell.CurrentRegion
Set databaserange = Data.Offset(1).Resize(Data.Rows.Count - 1)


Salutations!



"Christophe Joly" a écrit dans le message de news:
Bonsoir:

J'utilise une macro complémentaire qui permet de rentrer des donnees dans
une feuille de plus de 32 colonnes a l'aide d'un formulaire puisque le
formulaire integre a Excel n'accepte pas plus de 32 champs.

Le problème que je rencontre est que cette macro complementaire assume que
les noms des champs sont dans les cellules de la ligne 1 or dans mon cas les
noms des champs sont dans les cellules de la ligne 2.
Si dessous, les elements de la macro qui me semblent pertinents mais peut
etre c'est plus compliqué que ce que je pense.
Comment dois-je modifier cette macro complementaire afin que cela soit pris
en compte?

Merci. Christophe

MODULE
...
' Create a Range variable for the database
Set DatabaseRange = ActiveCell.CurrentRegion
...

USERFORM
...
'Determine the offsets (important if the database does not begin in A1)
RowOffset = DatabaseRange.Rows(1).Row
ColumnOffset = DatabaseRange.Columns(1).Column - 1

'Determine the size of the database
RecordCount = DatabaseRange.Rows.Count - 1 'First row is assumed to be
labels
FieldCount = DatabaseRange.Columns.Count
...
Avatar
Christian Herbé
Sélection de toutes les cellules non vides autour de la cellule active
et exclusion de la ligne 1:

Dim Plage As Range
With Selection.CurrentRegion
Set Plage = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
End With




Bonsoir:

J'utilise une macro complémentaire qui permet de rentrer des donnees dans
une feuille de plus de 32 colonnes a l'aide d'un formulaire puisque le
formulaire integre a Excel n'accepte pas plus de 32 champs.

Le problème que je rencontre est que cette macro complementaire assume que
les noms des champs sont dans les cellules de la ligne 1 or dans mon cas les
noms des champs sont dans les cellules de la ligne 2.
Si dessous, les elements de la macro qui me semblent pertinents mais peut
etre c'est plus compliqué que ce que je pense.
Comment dois-je modifier cette macro complementaire afin que cela soit pris
en compte?

Merci. Christophe

MODULE
...
' Create a Range variable for the database
Set DatabaseRange = ActiveCell.CurrentRegion
...

USERFORM
...
'Determine the offsets (important if the database does not begin in A1)
RowOffset = DatabaseRange.Rows(1).Row
ColumnOffset = DatabaseRange.Columns(1).Column - 1

'Determine the size of the database
RecordCount = DatabaseRange.Rows.Count - 1 'First row is assumed to be
labels
FieldCount = DatabaseRange.Columns.Count
...




Avatar
Christophe Joly
Bonsoir Denis:

Une fois de plus tu m'as sauvé la mise.

Remerciements et sinceres salutations.

Christophe


"michdenis" a écrit dans le message de
news:%
Bonjour Christophe,

Bien que je n'ai pas saisi comment tu disposes tes données....

J'ai ajouté un objet Data de type range, pour éviter d'avoir une ligne de
code trop longue (difficile à lire !)


Dim Data As Range
Set Data = ActiveCell.CurrentRegion
Set databaserange = Data.Offset(1).Resize(Data.Rows.Count - 1)


Salutations!



"Christophe Joly" a écrit dans le message de
news:

Bonsoir:

J'utilise une macro complémentaire qui permet de rentrer des donnees dans
une feuille de plus de 32 colonnes a l'aide d'un formulaire puisque le
formulaire integre a Excel n'accepte pas plus de 32 champs.

Le problème que je rencontre est que cette macro complementaire assume
que

les noms des champs sont dans les cellules de la ligne 1 or dans mon cas
les

noms des champs sont dans les cellules de la ligne 2.
Si dessous, les elements de la macro qui me semblent pertinents mais peut
etre c'est plus compliqué que ce que je pense.
Comment dois-je modifier cette macro complementaire afin que cela soit
pris

en compte?

Merci. Christophe

MODULE
...
' Create a Range variable for the database
Set DatabaseRange = ActiveCell.CurrentRegion
...

USERFORM
...
'Determine the offsets (important if the database does not begin in A1)
RowOffset = DatabaseRange.Rows(1).Row
ColumnOffset = DatabaseRange.Columns(1).Column - 1

'Determine the size of the database
RecordCount = DatabaseRange.Rows.Count - 1 'First row is assumed to be
labels
FieldCount = DatabaseRange.Columns.Count
...